Exogens
О компании Контакты Клиенты Новости Форум

Маленькое исследование PHP

2009.10.25
Большинство задач можно решить несколькими способами, различающимися по скорости работы и по удобству их применения. Удобство достаточно легко оценить, пусть и слегка субъективно, а вот со скоростью не все так очевидно. Поэтому на досуге был написан маленький скриптик, который позволяет оценивать скорость работы PHP-кода. Скрипт последовательно прогоняет несколько фрагментов кода несколько тысяч раз (от тысячи до миллиона), а результаты выводит на экран и, одновременно, записывает их в лог. Особо ценна функция накапливания результатов, что позволяет прогонять сотни тестов для получения более достоверного результата.

Тесты проводились на двух машинах – на ноутбуке Acer Aspire 9300 и на сервере с Unix. Результаты получились несколько неожиданными. Пару из них ниже.

Отдельные переменные или массив

Что лучше для использования – куча отдельных переменных или массив? Обычно используются отдельные переменные, но все таки у массивов есть определенные удобства для работы, поэтому появилась мысль постепенно перейти на массивы в некоторых местах.

Выполняемая команда Ноутбук Сервер Среднее Среднее нормализованное
$ruen_options_title = 123; 78.14% 75.53% 76.84 79.35%
$ruen_options['title'] = 123; 98.47% 94.63% 96.55% 99.71%
$ruen['title'] = 123; 97.96% 95.70% 96.83% 100.00%

Самым быстрым оказалось использование просто переменных, а не массивов – быстрее на 20.4%. Поэтому использование простых переменных предпочтительнее. Забавно, но вот длина имени массива сыграла совсем неожиданно – более длинное имя дало лучшие результаты на сервере и в общем зачете, но ноуте получилось более логично – короткое имя дало большую скорость.

Оптимальная длина переменных

В прошлом тесте была затронута тема длины имени переменных, поэтому пришлось проводить соответствующий тест. И результаты этого теста оказались крайне удивительными. Впрочем, смотрите сами!

Выполняемая команда Ноутбук Сервер Среднее Среднее нормализованное
$p = 123; 94.82% 94.65% 94.74% 100.00%
$dlinnaya_peremennaya = 123; 94.96% 90.89% 92.93% 98.09%
$dlinnaya_peremennaya_dlya_ispytanij_skorosti_raboty_php = 123; 94.25% 90.71% 92.48 97.62%

Что еще? Использование «$num.', текст'» быстрее «"$num, текст"» практически вдвое, использование «echo» так же быстрее «print». Наверное, надо составить что-то вроде сводной таблицы...

Да! То, что один способ быстрее другого, не значит, что это панацея! У каждого способа есть свои предназначения, на это и надо ориентироваться. Иначе получится как с таблицами и слоями в вёрстке...

Теги: Программирование

Следующий пост: Анатомия стартапа (#56,2009.11.17)
Предыдущий пост: Добавление изображений в текстовом редакторе RUEN (#54,2009.10.25)

Пост #1. Постоянная ссылка на пост: https://exogens.ru/blog/post/malenkoe-issledovanie-php/

Закрыть

Отправка сообщения

Ваше имя
Компания
Контактный телефон
Электронная почта
Текст сообщения
Код подтверждения5 x 33=

Расскажите о нас!

Мы поддержим

Техподдержка | Контакты | Форум
О компании | Отзывы | Блог
Карта сайта | На главную

Мы предлагаем создание сайтов в Новосибирске под ключ на нашей CMS Ruen, их обслуживание и сопутствующие рекламные услуги.

Сайт работает на CMS RUEN

www.webmoney.ru

Блог

26Июнь
2017
Случайный эксперимент с аудиторией сайтов
31Март
2017
Показываем объявления Яндекс Директ
15Июнь
2016
Правильный адрес сайта
31Май
2016
Обновление нашего бесплатного инструмента
12Май
2016
Эксперимент по статистике сайта
18Март
2016
Создание и разработка сайтов
1Март
2016
Вход рубль, выход – два
18Февраль
2016
Мобильная версия по Яндексу vs. Pluso.ru
© Exogens, 2003-2017ИП Богданович К.П.   ИНН 5403345261   ОГРИП 305540427600039   WM аттестован   Политика конфиденциальности