PHP 8: qué esperar. Carta de Zeev Surasky



Hola, mi nombre es Nikolai Krapivny, encabezo el departamento de desarrollo del lado del servidor en Badoo. En Badoo, PHP es uno de los principales idiomas; la mayor parte de la lógica de negocios de nuestro sistema está escrito en él. Por lo tanto, seguimos las noticias del mundo de PHP, participamos activamente en el desarrollo del lenguaje y tratamos de desarrollar la comunidad en torno a PHP .

Hoy me gustaría compartir una traducción de una carta de Zeev Suraski , uno de los fundadores de Zend Technologies, que describe el desarrollo posterior de PHP y arroja luz sobre lo que deberíamos esperar en PHP 8.

Iba a escribir sobre esto un poco más tarde, pero dado que mencionaron el tema de PHP 8, parece que es hora de comenzar una discusión.

Enfatizo: el propósito de esta carta no es discutir en detalle cada cambio que mencioné, sino consolidar nuestros planes: ¿nos enfocaremos en PHP 8 después de 7.3, que se basa en algunos de nuestros proyectos de investigación y desarrollos experimentales?

Hay varias áreas para el desarrollo de las cuales, me parece, es necesario dirigir los recursos en la próxima versión principal.

Jit


La mayoría de ustedes probablemente saben que dedicamos mucho esfuerzo a implementar JIT sobre la infraestructura de PHP 7. Hay buenas y malas noticias. Bien: como en el caso de los experimentos con JIT, que realizamos en 2014, obtuvimos resultados de referencia impresionantes con cargas intensivas de CPU. La mala noticia es que el JIT en nuestras pruebas no brinda una gran ganancia en las cargas web típicas.

En otras palabras, a diferencia de la situación en 2014, creemos que JIT no mejorará el rendimiento al procesar cargas de trabajo web típicas, ya que ejecutar código PHP ya no es un cuello de botella.

Pero sigo pensando que debemos incluir JIT en la próxima versión principal de PHP. Por al menos dos razones:

  • Esto permitirá que PHP maneje nuevos tipos de cargas de trabajo (no 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/es415359/


All Articles