Intereting Posts
разделить валюту и сумму из строки Как обновить строки MySQL с помощью подготовленных отчетов PHP PDO Многократное наследование PHP с интерфейсами SimpleXML сохраняет возвращаемый контент на элементе CDATA отключить трассировку стека PHP PHP glob (): по крайней мере один из переданных флагов недействителен или не поддерживается на этой платформе в Есть ли у вас проверки здоровья в вашем веб-приложении или на веб-сайте? Как получить список общих друзей Основная функция PHP nl2br () Объединение таблиц в MySql с одним общим полем, но разными значениями для общего поля Magento – Неустранимая ошибка: вызов функции-члена getBackend () для не-объекта в app / code / core / Mage / Eav / Model / Entity / Abstract.php в строке 816 Laravel быстрее запрашивать все в контроллере или в представлении Выбор случайной записи из базы данных MySQL Заполнение флажков в форме редактирования file_get_contents ( 'PHP: // ввод'); с приложением / x-www-form-urlencoded;

Есть ли смысл минимизировать PHP?

Я знаю, что вы можете минимизировать PHP, но мне интересно, есть ли какой-то момент. PHP – интерпретируемый язык, поэтому он будет работать немного медленнее, чем скомпилированный язык. Мой вопрос: будут ли клиенты видеть заметное ускорение скорости при загрузке страниц и, если бы я должен был минимизировать мой PHP?

Кроме того, есть ли способ скомпилировать PHP или что-то подобное?

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

Не было бы эффективного увеличения скорости, если вы попытались «минимизировать» источник. Вы получите значительное увеличение, используя кеш байт-кода, такой как APC .

Facebook представил компилятор с именем HipHop, который преобразует источник PHP в код C ++. Rasmus Lerdorf, один из больших ребят PHP, сделал презентацию для Digg в начале этого года, которая охватывает улучшения производительности, данные HipHop. Короче говоря, это не намного быстрее, чем оптимизация кода и использование кеша байт-кода. Для большинства пользователей HipHop является излишним.

Facebook также недавно представила HHVM , новую виртуальную машину, основанную на их работе, создающей HipHop. Это все еще довольно новое, и неясно, обеспечит ли он значительную производительность для широкой публики.

Чтобы убедиться, что это указано прямо, пожалуйста, прочитайте эту презентацию в полном объеме. Он указывает на многочисленные способы сравнения и кода профиля и выявления узких мест с помощью таких инструментов, как xdebug и xhprof , также из Facebook.

Избегайте идеи минимизации PHP в пользу использования кеша кода операции, например, PHP Accelerator или APC .

Или что-то вроде memcached

С некоторыми переписываниями (более короткие имена переменных) вы можете сохранить несколько байтов памяти, но это также редко бывает значительным.

Однако я разрабатываю некоторые из моих приложений таким образом, что позволяет объединять скрипты вместе. С php -w он может быть значительно уплотнен, добавив небольшое ускорение скорости для запуска скриптов. На сервере с поддержкой режима opcode это, однако, сохраняет только несколько проверок файлов mtime.

Это меньше ответа, чем реклама. Я работаю над расширением PHP, которое преобразует кодовые коды Zend для работы на виртуальной машине со статической типизацией. Это не ускоряет произвольный PHP-код. Это позволяет вам писать код, который работает быстрее, чем позволяет обычный PHP. Ключевым моментом здесь является статическая типизация. На современном процессоре динамический язык питается от неправильного предсказания филиала влево и вправо. Факт, что массивы PHP являются хеш-таблицами, также накладывает большую стоимость: много неверных предсказаний отрасли, неэффективное использование кеша, плохая предварительная выборка памяти и отсутствие оптимизации SIMD. Неправильное прогнозирование отрасли и недостатки кэша, в частности, являются ахиллесовой пятой для современных процессоров. Моя маленькая виртуальная машина обходит эту проблему с помощью статических типов и массива C вместо хеш-таблицы. Результат заканчивается примерно в десять раз быстрее. Это использует интерпретацию байт-кода. Расширение может произвольно скомпилировать функцию через gcc. В этом случае вы получаете от двух до пяти раз больше скорости.

Вот ссылка для всех, кто интересуется:

https://github.com/chung-leong/qb/wiki

Опять же, расширение не является общим PHP-ускорителем. Вы должны написать для него код.

Есть компиляторы PHP … см. Этот предыдущий вопрос для списка; но (если вы не являетесь размером Facebook или не нацеливаете приложение на работу на стороне клиента), они, как правило, намного больше проблем, чем того стоят

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

Вам не нужно минимизировать PHP. Чтобы получить лучшую производительность, установите кеш Opcode; но идеальным решением было бы обновление вашего PHP до версии 5.5 или выше, потому что более новые версии имеют кеш-код по умолчанию, называемый Zend Optimiser, который работает лучше других http://massivescale.blogspot.com/2013/06 /php-55-zend-optimiser-opcache-vs-xcache.html .