За последние 24 часа нас посетили 18454 программиста и 1711 роботов. Сейчас ищут 889 программистов ...

Передача параметров в функцию по ссылке

Тема в разделе "PHP для новичков", создана пользователем yhogan, 23 май 2011.

  1. yhogan

    yhogan Активный пользователь

    С нами с:
    10 сен 2010
    Сообщения:
    9
    Симпатии:
    0
    Если я работаю с большим текстом и передаю его в большое количество функций. Если я буду передавать его по ссылке нагрузка будет ниже чем при передаче по значению?
     
  2. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    если функции занимаются как раз изменением текста, то вполне будет верно и экономно передавать его по ссылке, чем создавать еще одну переменную.
     
  3. yhogan

    yhogan Активный пользователь

    С нами с:
    10 сен 2010
    Сообщения:
    9
    Симпатии:
    0
    а если я не правлю? разве не экономней по ссылке передавать?
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    yhogan

    насколько большим?

    В общем случае экономнее.
     
  5. yhogan

    yhogan Активный пользователь

    С нами с:
    10 сен 2010
    Сообщения:
    9
    Симпатии:
    0
    tommyangelo
    в сотнях килобайтов
     
  6. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    тогда ничего страшного)
     
  7. yhogan

    yhogan Активный пользователь

    С нами с:
    10 сен 2010
    Сообщения:
    9
    Симпатии:
    0
    Оказывается наоборот, ссылки замедляют работу, у меня при увеличении объема текста в 2 раза производительность падала в 10 раз, начал искать как бы еще оптимизировать наткнулся на такой вот документ http://php.russofile.ru/ru/translate/un ... izing#0801, оказывается при передаче параметра по значению PHP сам создает ссылки и при этом работает гораздо быстрее чем если передавать ссылку явно.

    Поэтому по ссылке параметр стоит передавать если действительно необходимо его изменять.