Нужна помощь с include

проверил Ваш тест))

1) Count 4.0422580242157 --- Sizeof 3.9934439659119 ---
2) Count 4.0254769325256 --- Sizeof 3.9770531654358 ---
3) Count 4.0086190700531 --- Sizeof 3.9846348762512 ---
4) Count 4.0696780681613 --- Sizeof 3.9737961292267 ---
5) Count 4.0671629905701 --- Sizeof 4.0153601169586 ---
явно sizeof выполняется чуть быстрее)

меняем код на:
PHP:
for ($i=0; $i<1000; $i++){ 
    array_push($test, mt_rand(0,1000));
}

и получаем:
1) Count 3.9953000545502 --- Sizeof 4.0067961215973 ---
2) Count 3.9479489326477 --- Sizeof 3.9693429470062 ---
3) Count 3.9628169536591 --- Sizeof 4.0664789676666 ---
4) Count 3.9858241081238 --- Sizeof 3.9989559650421 ---
5) Count 3.9688370227814 --- Sizeof 4.0115139484406 ---
6) Count 3.9517560005188 --- Sizeof 3.96661901474 ---
7) Count 3.9872059822083 --- Sizeof 3.9780690670013 ---
8) Count 3.9557268619537 --- Sizeof 3.9587509632111 ---
9) Count 3.9416480064392 --- Sizeof 4.000746011734 ---
10)Count 4.1499340534215 --- Sizeof 3.9671039581299 ---

коварная статистика, во втором случае count иногда выигрывает)
 
у меня и на array_push($test, mt_rand(0,1000));
count выполняется быстрее

версия PHP 5.2.17 (под винду есличо).

во втором случае count иногда выигрывает
фигасебе иногда

я бы сказал - почти во всех тестах.

вот вам и алиасы у функций.
пипец какой-то.
это значит что на высоконагруженных проектах надо смотреть какую функцию использовать (если есть алиасы).
и второй момент, возможно, при изменении версии PHP, может быть изменено время выполнения для одного из алиасов.
 
в HighLoad проектах, учитывают многие факторы)
вот такими небольшими экспериментами, тестируются алгоритмы, особенно когда в голове их несколько)
тест производился на WinXP, PHP 5.3.8
мы уже отошли от темы автора)))
 
в HighLoad проектах, учитывают многие факторы)
вот такими небольшими экспериментами, тестируются алгоритмы, особенно когда в голове их несколько)
тест производился на WinXP, PHP 5.3.8
мы уже отошли от темы автора)))

скажем, мы рядом с темой ТС
так как говорим не только о том, как выполнить его задачу, но и о том, как сократить время выполнения.
и на этом моменте мы с вами выяснили что и правда, не все алиасы функций одинаково выполняются (казалось бы, по логике, алиас обращается к одной и той же функции).

если бы php не осуществлял предварительную компиляцию кода, можно было бы предположить что имеет значение разница в длине названия функции (а там целых 5 и 6 символов) - но это 20% а никак не те доли процента в различии времени выполнения.


отступая от темы
был сильно удивлен, узнав как сильно имеют влияние двойные и одинарные кавычки

не буду голословным. ставим в наш "проверяльшик" проверку
if ($test[$c].'123'=='567'){echo "test";}
и
if ($test[$c]."123"=="567"){echo "test";}

получим разницу чуть ли не в 2%
 
по логике да)) на практике мы видим разницу производительности)

Когда сервер обрабатывает код, он проверяет всё содержимое двойных кавычек на наличие переменных, констант и прочего. Соответственно это занимает время.
А то что находится между одинарными кавычками сервер обрабатывает как готовый текст и ему все равно, что там находится.))
Разница между быстродействием одинарных и двойных кавычек незначительна, но если заниматься разработкой высоко нагруженного проекта, то несколько сэкономленных миллисекунд – это уже победа. )))

вообще на примере в цикле, результат объединения выглядит так:
PHP:
$text = $i.'Любая строка';
Результат: 1.12 секунды.
PHP:
$text = $i."Любая строка";
Результат: 1.15 секунды.


мнение знакомого программиста, какие мелочи стоит учитывать при разработки highload:
не забывать про ординарные кавычки
не плодить лишние классы и переменные
очищать тяжелые данные по мере выполнения скрипта... всякие крупные выборки из бд, ресурсы картинок, хэндлеры файловых функций
свести к минимуму количество запросов к бд
 
Хм, вообще, если честно все тесты типа таких ничего не стоят. Тк скорость может отличаться в зависимости от ОС, разрядности ос, некоторого железа, версии пхп, настроек пхп, даже количество программ в трее порой играет роль, особенно когда нужно определить разницу по времени при миллионах итераций. И то, что приписали ноль к итерациям отнюдь не повышает точность.

Да, когда мы можем теоритически обосновать скорость, как в ситуации с кавычками- это одно. Другое- это разбирать тонкости реализации функции.
-----------

Рекомендую закончить обсуждение скорости работы пхп, на этом часто начинается холивар.

Лишь хочу обратить внимание что в высоконагруженных мегопроектах мегопрофессиональныепрограмисты не должны смотреть мегокод на предмет мегоприроста скорости в мего 0.000005 секунд, а должны руководствоваться профайлингом и правилом, если кусок кода занимает незначительное время от всего времени генерации- оптимизировать его не нужно.
 
так вот и происходит тестирование.. и нахождение лучшего алгоритма.. некоторые задачи, можно решить разными методами..
естественно кусок кода(алгоритм, и тп).
программисты придерживаются этих мелких правил)
ну и естественно без профайлинга тут не обойтись, полностью согласен! )
 
Назад
Сверху