Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Результаты опроса: то лучше с точки зрения экономии ресурсов сервера
Конкатенация 9 81.82%
Запятые (выкидываение переменных на печать по очереди) 2 18.18%
Двойные кавычки 0 0%
Голосовавшие: 11. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2012, 11:55   #1
Dexes
Пользователь
 
Регистрация: 27.12.2011
Сообщений: 86
По умолчанию Конкатенация, запятые, двойные кавычки

Давно мучает вопрос что лучше
1) конкатенация
PHP код:
echo $x.' '.$y.' '.$z
2) запятые (выкидываение переменных на печать по очереди)
PHP код:
echo $x' '$y' '$z
3) двойные кавычки
PHP код:
echo "$x $y $z"
Это конечно не критично и в оптимизации это если и исправляется то в последнюю очередь, но всё же очень интересно, что лучше с точки зрения экономии ресурсов сервера, и что быстрее отработает и выведется?
Dexes вне форума Ответить с цитированием
Старый 22.02.2012, 18:08   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Первый вариант наиболее быстрый.
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 22.02.2012, 21:08   #3
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Цитата:
Сообщение от spein Посмотреть сообщение
Первый вариант наиболее быстрый.
Поддерживаю Первый вариант ...
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 22.02.2012, 22:34   #4
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от spein Посмотреть сообщение
Первый вариант наиболее быстрый.
Цитата:
Сообщение от pompiduskus Посмотреть сообщение
Поддерживаю Первый вариант ...
Это по результатам тестов или просто так? Со строкой в кавычках вроде понятно, что должно быть медленней; а вот почему конкатенация должна быть быстрее, чем через запятую?
Somebody вне форума Ответить с цитированием
Старый 23.02.2012, 13:54   #5
Mortimoro
Форумчанин
 
Регистрация: 03.12.2010
Сообщений: 334
По умолчанию

конкатенация и запятые используют одинаковое число опкодов, потому теоретически должны выполняться одинаково быстро.
на практике при миллионе прогонов у меня получился средний результат 0.245 сек при конкатенации и 0.250 сек при использовании запятых.
еще вопрос в потребляемой памяти, но я не знаю как ее измерить в моих условиях.
Mortimoro вне форума Ответить с цитированием
Старый 23.02.2012, 16:38   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Dexes Посмотреть сообщение
Это конечно не критично и в оптимизации это если и исправляется то в последнюю очередь
Абсолютно не критично - и даже не слышал о программистах, которые бы в целях оптимизации исправляли бы подобные моменты.
Единственная актуальная рекомендация по этому поводу - использовать во всем коде одинаковый подход (в рамках одного проекта), для улучшения читабельности и понимания кода.
Andkorol вне форума Ответить с цитированием
Старый 24.02.2012, 10:52   #7
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Первый вариант наиболее быстр, если собирать результат в одну переменную и выводить одним echo.
Скорость скрипта падает не из-за конкатенации, а из-за многократного использование функции вывода echo.
Виталий Желтяков вне форума Ответить с цитированием
Старый 24.12.2017, 11:32   #8
milenius
Новичок
Джуниор
 
Регистрация: 24.12.2017
Сообщений: 1
По умолчанию

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
Первый вариант наиболее быстр, если собирать результат в одну переменную и выводить одним echo.
Скорость скрипта падает не из-за конкатенации, а из-за многократного использование функции вывода echo.
Получается нужно сделать так?
$temp = $x.' '.$y.' '.$z;
echo $temp;

или так?
$temp = "$x $y $z";
echo $temp;

Какой из этих вариантов более быстрый и использует меньше ресурсов?

Последний раз редактировалось milenius; 24.12.2017 в 11:35.
milenius вне форума Ответить с цитированием
Старый 25.12.2017, 11:09   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от milenius Посмотреть сообщение
Какой из этих вариантов более быстрый и использует меньше ресурсов?
Вам же сказали опытные люди:

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Абсолютно не критично
Не ищите проблем там, где их нет.
Как Вам удобно, так и делайте.
Разницы в практическом плане нет.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.12.2017, 20:53   #10
kreoll
Пользователь
 
Аватар для kreoll
 
Регистрация: 22.12.2017
Сообщений: 13
По умолчанию

конкатенация будет быстрее всего, но двойные кавычки более читабельны.
kreoll вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
конкатенация LPSTR SNUPY Visual C++ 5 10.02.2011 17:23
двойные кавычки в переменной mystiql Microsoft Office Access 4 11.11.2010 22:51
Двойные кавычки в txt источнике для сводной bhima Microsoft Office Excel 0 13.12.2009 16:13
конкатенация строк larry Win Api 3 26.07.2009 08:22