![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Ну а смысл экономить на языковых конструкциях? Есть смысл оптимизировать запросы, но нет смысла оптимизировать операторы языка... Хотите производительности, цепляйте кластера!
Добавлено через 2 минуты и 4 секунды Хотите еще большей производительности - работайте на уровне железа! (Анреал) |
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
Я тебе про Фому, ты мне про Ерему.
Все эти тесты ради интереса, любопытно же все-таки, когда делать нечего. По поводу этого вендузятники идут курить. Да все равно, создание этих "идеальных условий" бессмысленно.
угу, спаяй сам себе сайт. |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
enof, прочитал твою ссылку тест.
Автор утверждает, что foreach медленние чем for. ??? Может быть и правда провести собственное тестирование? А с разбросом результатов думаю можно боротся так: Пытаемся создать максимально "идеальные" условия. Проводим тест n раз. Результаты записываем, сортируем, откидываем по 40% слишком больших и слишком маленьких результатов. Из оставшихся вычисляем среднее арифметическое. |
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
Следующее предложение за ссылкой тоже нужно было прочитать. Эти тесты проводились примерно после выхода php4. Насчет тестирования думал недавно, соберусь как-нибудь проведу. |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Если про сервера, то винду ф топку!!! А нагрузка на процессор? Хочешь получить больше процессорного времени - убей конкурентов!!!
Только ради интереса, в боевых условиях использовать это мозголюбство не стоит, только больше проблем возникнет |
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
я про то и говорю. Как ты оконную систему в винде уберешь? никак. У меня иксы сжирают ~15%, в винде не знаю насклько оконная система прожорлива. Вот, я могу х остановить, а ты в винде хочешь не хочешь, а окошками любуйся, хоть они и не нужны. В тестах сравнивается что-то с чем-то, главное чтобы в одинаковых условиях, а какие они, впринципе не так уж и важно. да и на десктопе тоже. |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
||||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Протестировал таким кодом:
Получилось, что foreach немного быстрее, 90-95% времени по сравнению с for Это сообщение отредактировал(а) NLspieler - 11.5.2009, 20:50 |
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
Тогда уж замерял бы в цикле что ли и среднее потом выводил.
Это сообщение отредактировал(а) enof - 11.5.2009, 20:56 |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
enof, может быть затем, что одинаковые усилия, потраченные на оптимизацию конструкций и SQL-запросов дадут разницу в выигрыше производительности в несколько тысяч раз?
Добавлено через 2 минуты и 3 секунды
Естественно на реальном приложении если мерять, т.к. никому не нужны результаты, которые не повлияют на практику. |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Пропустил через цикл, 600000 интераций. Результат ~82%
Короче, объявляю foreach бесспорным победителем. Это сообщение отредактировал(а) NLspieler - 11.5.2009, 21:15 |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
nerezus, а что вы понимаете под оптимизацией sql запросов?
Это типо, что бы они вытаскивали только нужные поля таблицы, а не все? |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
ну так foreach и является той самой "функцией", облегчающей труд кодера. Или я чего-то не понимаю? |
|||
|
||||
| Рыжий |
|
|||
![]() Помешанный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1423 Регистрация: 19.9.2004 Репутация: 2 Всего: 20 |
foreach должна быть быстрее, хотя бы потому, что в ней не определяется дополнительная переменная $i для счета.
+ в for() каждый раз проверяется условие, стоящее на втором месте: for($i=0;$i<100;$i++). Если говорить о массивах - в for часто допускают ошибку: for($i=0;$i<count($array);$i++) - Получается при каждом прохождении цикла, не только проверятеся условие <, но и выполняется функция count. Все это относится к очень мелкой и преждевременной оптимизации и большой роли не играет, имхо. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |