Как улучшить производительность кода PHP?

SpYeR

Новичок
Как улучшить производительность кода PHP?

Привет всем!)
//моя первая тема/сообщение тут, поэтому просьба не закидывать тапками -))

Вопрос такой: как максимально увеличить производительность кода? (какие функции работают дольше, как можно оптимизировать и т.п.)
Может ссылки на статьи какие-нибудь. -)

Спасибо! )
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Для начала при помощи профайлера нужно выявить "узкие" места.
А потом уже их "тюнить".


++
2. Гугл молчит?
google//оптимизация php скриптов
 

horal

Новичок
можешь для начала заюзать такие вот простой код

ДО работы скрипта
Код:
 <?
$start_time = microtime();
$start_array = explode(" ",$start_time);
$start_time = $start_array[1] + $start_array[0];
?>

  логика приложения 

После работы: 

[code]

<?
$end_time = microtime();
$end_array = explode(" ",$end_time);
$end_time = $end_array[1] + $end_array[0];
$time = $end_time - $start_time;
printf("<center><small>Страница сгенерирована за %f секунд</small></center>",$time);
?>
это просто замеришь время.
 

SpYeR

Новичок
Mr_Max
Профайлер?... какой лушче выбрать?

horal
такое скорее всего мне не подойдёт, т.к. на маленьких промежутках времени большая разница. На скрипте моей простенькой кмс он выдаёт мне от 0.02 до 0.10 секунд. От чего зависит — непонятно)

Krishna
Хочется сразу хорошо писать... Знать, что в php быстрее работает, что медленнее... В не веб-программинге, по другому немного с этим дела -)
 

Krishna

Продался Java
SpYeR
Правило номер 1:
Оптимизировать нужно то, что тормозит.
 

Фанат

oncle terrible
Команда форума
SpYeR
в РНР все работает быстро. кроме того, что ты написал медленно. Вот что сам написал - то и оптимизируй.
 

SpYeR

Новичок
Автор оригинала: Krishna
SpYeR
Правило номер 1:
Оптимизировать нужно то, что тормозит.
Просто интересуют вопросы, например, насколько быстро работают регулярные выражения, и тп...
Но, выходит, это меня не должно заботить? )
Просто боюсь, щас понапишу -- а потом аццки тормозить будет, даже при 10 людях одновременно))

SpYeR
в РНР все работает быстро. кроме того, что ты написал медленно. Вот что сам написал - то и оптимизируй.
ясно))


наверно, я рано такими вопросами задался..) Спасибо всем) (xdebug попробую))
 

Фанат

oncle terrible
Команда форума
Но, выходит, это меня не должно заботить? )
exactly!

Просто подумай о том, что выполняя твой скрипт, пхп читает его по одной букве, и делает миллионы проверок - какой символ, какие были перед ним... потом сравни со своей регуляркой и расслабься.

Сам по себе код не тормозит.
Есть очевидные вещи, которые и так понятны. Ты же ведь понимаешь, что если загружать в память файл на несколько мегабайт и искат ьв нем что-то - это не самая быстрая операция? Ну и остальное точно так же. Сначала - здравый смысл. Потом - профайлинг.
 

WP

^_^
Фaнат
Имхо ты слишком сгустил краски =) Токенизер не такая уж тормознутая вещь.
 

Bakti9rov

!*|=?
SpYeR

а че не на Дизеле? :D

по сабжу скажу следующее - сначала сделай чтобы что-то уже было реализовано и работало... оптимизация всегда после реализации.

микротайм времени генерации для точности можно передать в куки

PHP:
$time_start = microtime(true);
//...
setcookie('time_generated', microtime(true) - $time_start);
затем на странице вытаскивается:

Код:
<script type="text/javascript" language="JavaScript">
document.write('Страница сгененирована за: ' + document.cookie.match(/time_generated=([0-9.]*)/)[1])
</script>
Есть такая рульная вещь как Apache JMeter. Ставишь под высокие нагрузки (стресс-тесты) и смотришь на какой запрос при каких нагрузках приложение тормозит.
 
Сверху