+4.53
7 читателей, 6 топиков

Ответ на «микрооптимизацию в PHP»

Оригинал: A Response to “Micro-Optimizations in PHP”

На прошлой неделе я прочитал пост, рекомендованный мне в PHP Weekly. Он назывался Микрооптимизация в PHP. Я повелся, ведь всегда стремлюсь быть лучшим PHP разработчиком. Пост начинается с общих рекомендаций, которые, по сути, являются даже не микро-, а микро-микрооптимизацией. Продолжая читать, я приходил к выводу, что описанное в тексте и вовсе имеет мало общего с оптимизацией. В итоге я могу сказать, что пост был написан безответственно — заявления автора не имели обоснований.

Обидно, что я получаю такие низкокачественные посты из рассылки PHP. Подобные статьи путают разработчиков, что, в свою очередь, способствует созданию некачественных приложений в сообществе PHP-разработчиков. Эта ситуация заставляет задуматься о росте числа хейтеров PHP.

Я не сомневаюсь в том, что автор писал статью с исключительно добрыми намерениями. Но, по крайней мере, он должен был предоставить доказательства сделанных в статье заявлений. В конце концов, хороший разработчик должен всегда спрашивать,почему? Я прочитал рекомендуемые в том посте оптимизации. Я оценил рекомендации с точки зренияабсолютной правды и обозначил каждую из них как истина или ложь. Пожалуйста, ознакомьтесь с полным текстом, прежде чем заметите ошибки.

Читать дальше →

Правильный взгляд на временные зоны в PHP

Оригинал: Timezones, the Right Way


Это небольшая статья о том, как работать с временными зонами при хранении значений даты / времени в базе данных. Базы данных или язык программирования, который вы решите использовать, решающего значения не имеет, так как описываемые в статье явления универсальны. Свои действия я буду показывать на примере использования связки MySQL и PHP. Проблема, связанная с временными зонами, достаточно банальна. Многие часто забывают об их существовании, а некоторые считают их чем-то чрезмерно сложным. Обычно при настройке базы данных или при пользовании услугами веб-хостинга ваши временные зоны настроены по умолчанию. Настройки по умолчанию подойдут, если вы работаете с одним сервером, но что произойдет, если вы решите переместить его?

Читать дальше →

Почему FastCGI + Nginx быстрее, чем Apache + mod_php?

Оригинал: Why is FastCGI /w Nginx so much faster than Apache /w mod_php?

Сначала я собирался написать пост о том, почему Nginx в связке с FastCGI работает быстрее, чем Apache с mod_php. Не так давно ходили слухи, что Nginx с запущенным PHP через FastCGI производительнее, чем Apache с mod_php. Многие знакомые утверждали, что это чистая правда. Некоторое время назад я провел небольшое исследование по этому вопросу и собрал интересные факты.

Сегодня я хотел бы подробно рассказать о своих поисках истины и проанализировать получившиеся результаты. Так вот, для начала замечу, что раньше мне приходилось увеличивать производительность. Если мне не изменяет память, это было необходимо и для работы с Magento.

Читать дальше →

Как быстрее обойти массив (без ключей). Часть 2.

Добрый день. В продолжение темы «Как быстрее обойти массив (без ключей)» хочу рассказать про несколько других способов обойти массив. А именно функции array_walk и iterator_apply.

Для ленивых foreach вне конкуренции.

Под катом код теста и результаты

Сравнение производительности strtr, str_replace, preg_replace.

Добрый день. Сегодня я решил узнать, что работает быстрее: strtr, str_replace или же preg_replace.

Для ленивых: str_replace — самая быстрая функция, на втором месте preg_replace, а уж strtr совсем медленная.

Под катом код теста и результаты.