Анонсирован проект PHP Следующего поколения


Со всей суетой вокруг ускорения работы в 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, двери, которые она открывает, разговоры, которые она начала, сотрудничество, которое она вдохновляет, – все это стоит того, чтобы быть взволнованным. Но мы должны оставаться основательными, честными и открытыми; и сказать, что предстоит проделать большую работу, чтобы сделать “Следующее поколение” реальностью, это только начало.”

Так что, похоже, ситуация “наблюдайте за этим пространством” – очень напряженная. 


Добавить комментарий