PHP 8: o que esperar. Carta de Zeev Surasky



Olá, meu nome é Nikolai Krapivny, chefio o departamento de desenvolvimento do lado do servidor no Badoo. No Badoo, o PHP é uma das principais linguagens; a maior parte da lógica de negócios do nosso sistema está escrita nele. Portanto, seguimos as notícias do mundo do PHP, participamos ativamente do desenvolvimento da linguagem e tentamos desenvolver a comunidade em torno do PHP .

Hoje eu gostaria de compartilhar uma tradução de uma carta de Zeev Suraski , um dos fundadores da Zend Technologies, que descreve o desenvolvimento adicional do PHP e mostra o que devemos esperar no PHP 8.

Eu escreveria sobre isso um pouco mais tarde, mas como eles levantaram o tópico do PHP 8, parece que é hora de iniciar uma discussão.

Enfatizo: o objetivo desta carta não é discutir em detalhes todas as mudanças que mencionei, mas consolidar nossos planos: vamos nos concentrar no PHP 8 após 7.3, que é baseado em alguns de nossos projetos de pesquisa e desenvolvimentos experimentais.

Existem várias áreas para o desenvolvimento das quais, parece-me, é necessário direcionar recursos na próxima versão principal.

Jit


Muitos de vocês provavelmente sabem que investimos muito na implementação do JIT sobre a infraestrutura do PHP 7. Há boas e más notícias. Bom: como no caso dos experimentos com o JIT, realizados em 2014, obtivemos resultados impressionantes de benchmark com cargas intensivas de CPU. A má notícia é que o JIT em nossos testes não oferece um grande ganho em cargas típicas da Web.

Em outras palavras, diferente da situação de 2014, acreditamos que o JIT não melhorará o desempenho ao processar cargas de trabalho típicas da Web, pois a execução do código PHP não é mais um gargalo.

Mas ainda acho que precisamos incluir o JIT na próxima versão principal do PHP. Por pelo menos dois motivos:

  • Isso permitirá que o PHP lide com novos tipos de cargas de trabalho (não na Web).
  • PHP , (, PHP- unserialize() C).

, , - , -, (. Badoo: . CPU , CPU ).

, , , JIT OPcache ( ) , .

  • () , - -.

, , PHP 7.0 JIT-: https://www.youtube.com/watch?v=dWH65pmnsrI


(long-running), , . , , Node.js , . . , PHP , , ReactPHP Swoole.

, - PHP . , - , , Swoole. , , /, . , , . , libuv, , , PHP-.

(Foreign Function Interface)


PHP , ++, . , , , , , . PHP «» , ; — «» , . (.: ) . TensorFlow PHP, , , PHP: 98%. , JIT PHP , . , ( JIT), , , , .


, JIT PHP 8, . «» PHP, ( FFI). JIT PHP , . , -, ( , ) , . (.: : « — PHP- PHP; , , request- include/require. , PHP». .)

, :

  • . - , , PHP 8.
  • . , , RFC , - .

— , ( — , JIT), PHP 8 PHP 7.3 PHP 7.x. PHP 8 , , , 2—2,5 ( / 2020-). PHP 7.4 - 2019-, , (deprecate) , , PHP 7.3, PHP 8.

PHP 8 7.3, . , , RFC «PHP 8 feature- PHP», 7.4; ( ) . , - ( ), // .

, , «» . , CPU -.

PHP 8 PHP ? .

Source: https://habr.com/ru/post/pt415359/


All Articles