Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


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

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

Давно мучает вопрос что лучше
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
Репутация: 88

icq: 426-414-478
По умолчанию

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

icq: 446.452.423
По умолчанию

Цитата:
Сообщение от spein Посмотреть сообщение
Первый вариант наиболее быстрый.
Поддерживаю Первый вариант ...
pompiduskus вне форума   Ответить с цитированием
Старый 22.02.2012, 22:34   #4
Somebody
Профессионал
 
Регистрация: 08.10.2007
Адрес: Нижегородская обл.
Сообщений: 1,185
Репутация: 801
По умолчанию

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

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

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

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

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

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

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

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


07:36.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru