![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Rtm |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 8.2.2006 Репутация: нет Всего: 1 |
объясните разницу, плз, между:
и
|
||||||
|
|||||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
Rtm, выдаёт одинаковый результат. Значит, идентично. Как на меня, правда, то второй вариант нагляднее. Хотя, интуиция подсказывает мне, что в первом случае вызывается чё-то типа inline-подстановки, а во втором - явно вызывается функция с передачей параметров... пойду, протестирую...
|
|||
|
||||
BobiKK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 4 Всего: 16 |
Результат будет один.
Конструкция "hello $variable" выполнится немного быстрее. Однако, конструкции типа "hello trim($variable)" - недопустимы. В то время как "hello".trim($variable) - нормально Кроме того, могут возникнуть проблемы с ипользованием ассоциативных массивов. Т.е., "hello $array['first']" может иногда приводить к ошибкам. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
И где тут функция есть?
Да???? Вот интерпретатор получает на вход строку, начинает ее парсить. Быстрее будет работать вариант с точками. Второй вариант, когда переменная указывается внутри строки и в {}, третий - просто $var... |
|||
|
||||
skyboy |
|
||||||||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
Этот код был прогнан через профайлер, который в аттаче. Вот результат:
"Concat"- это я так назвал явный вариант с точками, а "inline" - вариант с внесением переменной внутрь строки. Потом я подмал,что причина может быть в порядке вычислений и поменял местами варианты. Правда, результат мало изменился:
Потом я подумал, и увеличил счётчик до 100000.
Разница исчезла. Видимо, это была какая-то лажа, с подсчётом. Или же... Нет предела идиотизму ![]()
Причём результат устойчивый ![]() ![]() Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() |
||||||||||
|
|||||||||||
BobiKK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 4 Всего: 16 |
First: 0.0955958366394 Second: 0.0795040130615 Third: 0.0952532291412 Признаю, фигню сказал ![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
skyboy, Неправильный у тебя тест. Делали мы уже где-то подобное. Тестировать надо в трех разных файлах, только тогда у тебя может быть реальное полоджение дел.
Плюс, выкинуть y из цикла. Это сообщение отредактировал(а) Mal Hack - 16.6.2006, 14:07 |
|||
|
||||
Guedda |
|
||||||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 13 Всего: 78 |
Точки ставятся чисто для удобства. Чтобы можно было потом код разобрать. Моё ИМХО.
И ещё, если нечаянно ошибешься, и вместо этого:
напишешь:
то на экране появится:
Вот и всё отличие, я думаю... Это сообщение отредактировал(а) Guedda - 16.6.2006, 16:27 -------------------- Ll 2 |
||||||
|
|||||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
Mal Hack, разве цикл не даёт усреднение результатов?
Ок. Протестирую в разных файлах. А нельзя ваши тесты где-нить глянуть? |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Вот если ты затестируешь на 50 разных машинах, по 100 раз, на 10 разных системах, на разных серверах, и т.п. Вот тогда это будет усреднение. ![]()
Не смог их найти. Либо на этом форуме где-ть, либо на форуме вовеба. |
|||
|
||||
Rtm |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 8.2.2006 Репутация: нет Всего: 1 |
так какой же вывод ?
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Через точки.
|
|||
|
||||
Штык |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 9.5.2005 Где: Москоу Репутация: нет Всего: 1 |
хммм..на мой взгляд вариант с точками более читаем в коде..и это плюс)
--------------------
Lachetes familieresQui nous rendent guerrieres |
|||
|
||||
Kefir |
|
|||
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 13 Всего: 87 |
точки. читабельнее, и, всё-таки, быстрее. где-то была подобная тема уже. и там тестировали.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |