![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Maximov |
|
|||
Unregistered |
какой код обработается быстрее
одной строкой if ((условие1)and(условие2)and(условие3)and(условие4)and(условие5)) { } или вкладывать if (условие1) {if (условие2) {if (условие3) {if (условие4) {if (условие5) {} } } } } |
|||
|
||||
Foxx |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 19.3.2003 Где: Новосибирск Репутация: нет Всего: нет |
А протестировать ?
На глаз мне кажется что первый вариант... но нужно тестирование. Подробности можешь найти на php.spb.ru |
|||
|
||||
arial |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
Пишем код:
1-й случай: --------------------------- $a1=1; $a2=2; $a3=3; $a4=4; $a5=5; $time1=microtime(); if (!empty($a1)&&!empty($a2)&&!empty($a3)&&!empty($a4)&&!empty($a5)) { $time2=microtime(); } $time3=($time2-$time1)*1000000; echo $time3; ----------------------------- 2- случай: ------------------------------ $a1=1; $a2=2; $a3=3; $a4=4; $a5=5; $time1=microtime(); if (!empty($a1)&&!empty($a2)&&!empty($a3)&&!empty($a4)&&!empty($a5)) { $time2=microtime(); } if (!empty($a1)) { if (!empty($a2)) { if (!empty($a3)) { if (!empty($a4)) { if (!empty($a5)) { $time2=microtime(); } } } } } $time3=($time2-$time1)*1000000; echo $time3; ------------------------------------ Получили результат: 1-й случай: 86.00 2-й случай: 103.99 Комментарии излишни! ![]() -------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
|||
|
||||
Mark.dll |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 28.2.2003 Где: Эстония, Нарва Репутация: нет Всего: нет |
Браво!
![]() --------------------
"I wish I could change the world..." |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
А попробуйте так :
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Foxx |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 19.3.2003 Где: Новосибирск Репутация: нет Всего: нет |
не глаз а алмаз
![]() |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Ты это о чем ? -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
arial |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
![]() switch здесь не пойдет, потому как он проверяет только одну переменную, например: switch ($a1) { case 1: first_function (); break; case 2: second_function (); break; case 3: third_function (); break; case 4: fourth_function (); break; case 5: fifth_function (); break; } т.е. если переменная $a1,принимает значение 1, то выполняется first_function и т.д. У нас же задача в другом - нам надо проверить сразу 5 переменных, и только при true выполнить некую функцию, поэтому switch здесь в пролете. ![]() -------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
||||
|
|||||
Foxx |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 19.3.2003 Где: Новосибирск Репутация: нет Всего: нет |
о том что на глаз определил фавора ![]() |
||||
|
|||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Млин ... а кто разве говорил что мы проверяем не одну переменную ? Тама в начале про это не чего не писали ! -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
arial |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
Он говорил... ![]() -------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Прошу прощенья ... облажался ... А если проверять одну переменную ? то что будет быстрее (хотя ответ на жтот вопрос я знаю), мне просто интересно какой отрыв во времени ... -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
arial |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
Как и в том случае пользуйся разницей microtime() до и после выполнения проверяемой функции. Так можно что угодно тестить, или время обработки документа у себя на сайте отображать. ![]() -------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
|||
|
||||
TiHo |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 2.1.2003 Где: Israel Репутация: нет Всего: нет |
Однозначно быстрее, потому как AND исключающее условие, если (условие1) == FALSE то остальные даже проверять не станет. |
|||
|
||||
Foxx |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 19.3.2003 Где: Новосибирск Репутация: нет Всего: нет |
то же самое можно сказать и про второй вариант.
Если не выполниться первое условие то не будут выполняться и остальные. Так что тут ты не прав. Это сообщение отредактировал(а) Foxx - 10.4.2003, 16:22 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "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. |