Со всей суетой вокруг ускорения работы в JavaScript, вероятно, неизбежно, что PHP должен быстро измениться. Группа PHP анонсировала PHP следующего поколения.
PHP-это язык, который мы все любим ненавидеть, если только вы действительно его не любите.
Я?
Я просто использую его, чтобы что-то сделать, и большую часть времени он действительно выполняет свою работу. Но я должен согласиться, что скорость-это то, о чем я больше всего думаю. Поэтому, хотя я приветствую улучшения, которые FaceBook вносит в язык в форме ВЗЛОМА, я думаю, что все, что ускоряет основной язык, хорошо.
Именно здесь на сцену выходит PHP следующего поколения (PHP-NG). Группа PHP обдумывала, как внедрить JIT-компиляцию, которая является технологией, которая в основном отвечает за увеличение скорости JavaScript.
Они обнаружили, что реализация JIT была затруднена из-за того, как были реализованы некоторые основные API. Таким образом, это стало прямой борьбой за выбор: внедрить JIT в неблагоприятной среде или изменить среду — и именно в этом заключается суть новой ветви phpng.
На самом деле он не реализует никакой JIT-компиляции, но ему все равно удается добиться улучшения скорости работы WordPress на 20%. Все это было достигнуто с использованием только лучшего использования памяти и лучших основных API.
Технические детали, по-видимому, связаны с изменением способа хранения значений данных. Механизм Zend распределил все данные в куче и использовал сложную схему подсчета ссылок. Новая реализация хранит структуры данных в стеке с помощью сегментов хэш-таблиц. По-видимому, это уменьшает использование памяти, выделение кучи и позволяет избежать необходимости подсчета ссылок.
На данный момент это только внутренний проект, и нет никаких предложений о его развертывании. Вы можете скачать код и попробовать его, если хотите. Есть также некоторые неподдерживаемые расширения и некоторые различия между ним и собственно PHP, но на данный момент большинство из них, похоже, рассматриваются как ошибки.
Есть планы по другим улучшениям, но в конечном счете цель должна состоять в том, чтобы реализовать JIT-компиляцию, а затем, предположительно, многоступенчатую JIT-компиляцию.
Группа PHP, похоже, в восторге от этого:
«Работа над phpng, двери, которые она открывает, разговоры, которые она начала, сотрудничество, которое она вдохновляет, — все это стоит того, чтобы быть взволнованным. Но мы должны оставаться основательными, честными и открытыми; и сказать, что предстоит проделать большую работу, чтобы сделать «Следующее поколение» реальностью, это только начало.»
Так что, похоже, ситуация «наблюдайте за этим пространством» — очень напряженная.