PHP 8.0 Data de Release e status do JIT no PHP

,

 

O PHP continua sendo a linguagem mais popular do lado do servidor para criar sites. Com uma participação de mercado estimada em 80%, a linguagem de programação de vinte e poucos anos está em toda parte. O PHP evoluiu, e as próximas principais etapas são o PHP 8.0.0 e a compilação JIT (just in time). Vamos dar uma olhada nisso.

 

A última grande versão do PHP foi 7.0.0. Esta versão foi um marco importante com desempenho significativamente aprimorado e menor uso de memória. Desde a versão 7.0, houve dois lançamentos adicionando novos recursos : 7.1 em 2016 e 7.2 em 2017. 

 

Mas, assim como ocorre com os estados de versionamento semântico, não pode haver alterações significativas nas versões principais com o patch de versão semântica (major.minor.patch). A próxima versão secundária, PHP 7.3, está prevista para ser lançada no final de 2018. 

 

O lançamento do PHP 8.0 ainda não está agendado, mas como é um grande salto, levará alguns anos. A partir de agora, também não há detalhes dos recursos, mas estima-se que a programação esteja a anos de distância. Algumas especulações definem o lançamento do PHP 8.0.0 em setembro de 2021:

 

 

Estado de Just In Time (JIT) em PHP

A compilação just in time é uma maneira de otimizar o código de execução. É um método popular usado pela Java Virtual Machine (JVM), bem como a popular V8 JavaScript VM do Google. Por enquanto ambos usam o JIT, mesmo não sendo uma bala de prata.

Inicialmente, o desenvolvimento do PHP antes da evolução atual (PHP 7.x) se concentrava em melhorar o desempenho do PHP usando um JIT. Esse esforço resultou em melhorias substanciais nos benchmarks, mas provou fornecer pequenas melhorias em aplicações do mundo real, como WordPress ou Joomla.

Depois que o trabalho foi feito para o PHP 7.0 e fornecendo melhorias significativas, as melhorias no desempenho nas versões 7.1 e 7.2 foram bastante modestas. É por isso que a equipe está trabalhando na implementação do JIT novamente. Existem alguns resultados encorajadores, mas a partir de agora não há uma análise profunda sobre o projeto PHP JIT.

Como o PHP é um software de código aberto, os desenvolvedores podem baixar e compilar o código-fonte. No entanto, muitas pessoas evitam a possibilidade de compilar software por conta própria. Felizmente, há uma imagem do Docker disponível que permite aos desenvolvedores experimentarem as compilações mais recentes do PHP JIT com facilidade:

Este código é um ajudante para testar o php com suporte a jit experimental. Ele foi escrito como um projeto de estimação inspirado no tweet que mostra 54% de melhoria no desempenho.

Tanto o JIT quanto a versão 8.0.0 aparecem no futuro do PHP, mas ambos são recursos significativos que permanecem no futuro. E, especialmente para o JIT, os processos de vida curta do PHP não são ideais para a implementação do JIT – isso é comparado a processos em execução contínua como o Node.js ou o Java.

Status do JIT em PHP

Não há informações sobre os recursos que serão incluídos no PHP 8.0 até o momento. Mas há uma forte especulação sobre a inclusão da compilação JIT no PHP 8.0. O Zend já iniciou o desenvolvimento de um novo JIT Engine e é provável que ele seja incluído na atualização principal da versão que é o PHP 8.0 sempre que o mecanismo estiver pronto e testado. Portanto, a data de lançamento depende diretamente da implementação e teste bem-sucedidos do mecanismo.

O porta-voz da Zend também comentou o mesmo e disse que eles querem entregar alguns recursos úteis na próxima grande atualização. É interessante notar que o PHP 7 teve uma grande melhoria no desempenho em relação ao PHP 5 e muitos especialistas viram o pequeno escopo de melhoria no desempenho para a próxima grande atualização. O desenvolvimento do JIT Engine começou há muito tempo quando sua implementação foi interrompida devido a algumas razões técnicas. Dmitry Stogov, da Zend, confirmou que a implementação foi retomada de uma vez por todas.

Por que a inclusão de JIT em PHP é uma comunidade Crazy In PHP

Você deve estar ciente do HHVM, que é um tempo de execução alternativo que o Facebook desenvolveu e usa. Este HHVM utiliza o JIT e descobriu-se que ele é mais rápido e melhor que o mecanismo PHP oficial que o Zend desenvolveu e implementou no PHP 7.0. Consequentemente, a Zend iniciou seu desenvolvimento e os benchmarks revelaram enormes escopos de melhoria. Mas na vida real, devido a alguns problemas técnicos, o desempenho real não mostrou muita melhora na fase de testes. Devido à extrema popularidade do HHVM e devido à alta demanda da comunidade PHP em todo o mundo para dar uma nova tentativa ao JIT Engine, o PHP Group e o Zend estão prontos para isso e eles estão determinados a trazê-lo para o próximo grande lançamento.

Um código escrito em PHP 5 quando executado no PHP 7 sem fazer uma única alteração, o desempenho dobra. Isso não é devido à mudança no mecanismo, mas em outras otimizações que o Zend e o PHP Group fizeram no PHP 7.0. Portanto, há razões suficientes para acreditar que uma mudança no motor certamente irá melhorar o desempenho em várias dobras. Indo pelo padrão de HHVM, o nível de desempenho pode facilmente dobrar. Em outras palavras, um código escrito no PHP 7 quando implementado no PHP 8, o tempo de execução será reduzido pela metade.

JIT ou compilação just in time é uma maneira de fazer a compilação durante a execução do programa ou tempo de execução. Não há dúvida sobre a compilação antes da execução, que é onde o tempo é consumido. Ele é considerado um processo de compilação dinâmico e certamente renderá um resultado mais rápido que estático ou antes da compilação em tempo de execução. A maioria das implementações de implementação Java e .Net são dependentes do JIT. É justo que o PHP entre na briga, aproveite a compilação dinâmica e aumente seu desempenho para o próximo nível.

ARTIGOS ORIGINAIS DE REFERÊNCIA:

PHP 8.0 Release Date and the status of JIT in PHP

PHP 8.0 RELEASE DATE UPDATE AND THE STATUS OF JIT IN PHP

Obrigado por enviar o seu comentário minha jóia!