![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| NLspieler |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Для прохода по массиву с натуральными ключами от нуля до n, можно использовать такую конструкцию:
Или такую:
Что будет лучше и быстрее работать или же это дело вкуса? |
||||
|
|||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
NLspieler, Как вы думаете, foreach создали чтобы показать, какой он медленный и неудобный и тем самым призвать юзать for?
|
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Недавно встречал на форуме высказывание, что нужно юзать foreach, только если без него действительно никак не обойтись. Иначе же лучше for. Писал это кажется bars80080, а он как я заметил, х..ню не напишет. Пробовал измерить так:
Результат во всех скриптах равен нулю. Может есть аналог time() но для дольных частей секунды? Это сообщение отредактировал(а) NLspieler - 11.5.2009, 15:46 |
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
Если вы не знаете как замерить работу скрипта, не пофиг ли, for или foreach?
Одинаково они примерно работают, foreach быстрее даже зачастую. Добавлено через 1 минуту и 15 секунд Угу, посмотрел, у меня foreach примерно раза в два быстрее работает. Добавлено через 2 минуты и 26 секунд Не стоит на этом зацикливаться, на кавычках, циклах и т.д., когда, например, одним кривым запросом к базе можно свести все старания на нет. |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
NLspieler, правильно писать так:
mov ebx, 0 lbl: inc ebx cmp ebx,10 jnz lbl ведь это еще круче и непонятнее, чем использовать for для задач, для которых нужно юзать foreach. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
да я говорил, и буду говорить, ибо надо следовать вселенскому предначертанию вещей
нет, конечно, некоторые любят чесать правой рукой левое ухо через голову, но стоит ли специально? в пхп куча функций и вносятся они не просто так, а с целью облегчить труд кодера, заменив ряд часто выполняемых действий. при этом, коль реализации этих функций пишутся на более производительных языках, лучше использовать их, заместо самописных. то же самое касается и функций, которые имеют пересекающуюся сферу деятельности. заведомо можно сказать, что у них реализации разные, но каждая заточена под свой вариант что касается:
то это всё из области: а вы с картошкой или вареньем горчицу любите? я в своё время проверял, у меня явно выходило быстрее на for для порядковых массивов, но массивы там были не простые, а циклы были вложенные. т.е. надо смотреть в конкретной ситуации вопрос надо ли, должен возникнуть только в случае если проект уже начинает скрипеть от нагрузки а до тех пор, всё-таки лучше пользоваться в разных вариантах специально предназначенными для того функциями |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
enof, как правильно производить замер времени работы скрипта в точности до дольных частей секунды?
|
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
http://en.wikipedia.org/wiki/Bottleneck_(engineering) |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
http://www.php.ru/manual/function.microtime.html |
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
bars80080, вы соглашаетесь с тем, что вы за for, и тут же приводите аргументы в пользу стандартных средств.
вот именно, что в свое время. Многие приводят эти тесты и сейчас в док-во слов, типа юзай одинарные кавычки, и ваша программа будет работать в два раза быстрее. Это я к тому, что многие тесты уже не актуальны. К тому же сейчас разработчики пхп наконец-то зашевелились по поводу производительности. NLspieler, эти тесты ничего не стоят, можно только примерно посмотреть, как обстоят дела. nerezus, Там про что,в двух словах? С английским у меня не очень =( |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Попробовал провести тестирование одного скриптика, оказалось, что иногда он выполняется быстрее, иногда медленние.
Иногда скорость отличается в сотни раз. |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Тестировать скрипты нужно в идеальных условиях... Интересно посмотреть на результат, если во время тестов одновременно записывается три болванки, компилируется прога в VS 2008, играет музыка, работает антивир и еще прочая лабудень, и когда работает только один сервер... За этим следить то надо!
|
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
SneG0K, Бесполезно. Убивал иксы, апач, мускул и все ненужную дребедень. Все равно разброс огромный во времени.
|
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Дык а скрипт работает с БД?
|
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
Ну речь же идет о быстродействии языковых конструкций. Зачем здесь apache, mysql, оконная система?
|
|||
|
||||
![]()
|
| Правила форума "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. |