Depois de quatro meses de esforço, um desenvolvedor russo anunciou nesta segunda-feira uma grande reforma na engine do PHP. Funcionário da Zend, empresa que trabalha com aplicações baseadas na linguagem de interpretação, Dmitry Stogov revelou que obteve um ganho de 20% no desempenho do WordPress 3.6, por exemplo, com as alterações – bem drásticas, diga-se – feitas por ele e alguns colaboradores no núcleo.
A notícia foi dada pelo desenvolvedor na página do próprio PHP. Segundo testes feitos por ele, os bons resultados na performance se estenderam também a sites baseados em Drupal 6.1 (ganho de 11,7%), Qdig (15,3%) e Zend Framework (gritantes 30,5%). E essas melhorias foram observadas não apenas nos benchmarks, como também em aplicações na “vida real”, conforme afirmou Stogov.
Esses ganhos se devem à reformulação quase completa na engine da linguagem, que levaram o desenvolvedor a chamá-la até de “PHP de nova geração”. As alterações incluem, por exemplo, a presença parcial de tradução dinâmica (compilação just-in-time, ou JIT) no núcleo. De forma simplificada, só isso já aceleraria uma boa parte do processo de execução por fazer a pré-interpretação de um aplicativo – o russo explica melhor aqui.
O ganho na performance em sites WordPress (que passam a suportar 253 solicitações por segundo, ou req/sec, em vez de 211) já é chamativo por si só. Mas se levarmos em conta que empresas usam até mais de uma máquina para manter páginas, essa melhora fica ainda mais expressiva – imagine, por exemplo, essa melhora de 20% estendida a dez servidores.
As mudanças foram implantadas em uma versão bem prematura do PHP 5.7, e ainda se encontram em caráter inteiramente experimental, com problemas de compatibilidade e falhas gerais, como observa Solgov no comunicado. Hoje, a linguagem está na edição 5.5, com a 5.6 em fase beta.
Por isso mesmo, a menos que você realmente precise de um ganho considerável no desempenho ou queira ajudar no desenvolvimento da versão, é bem provável que o risco não valha a pena. Até o lançamento da versão definitiva, muitas correções ainda serão feitas, a compatibilidade com extensões deve aumentar e os ganhos na performance podem ficar ainda melhores. Dá para acompanhar o progresso desse “PHP de nova geração” por aqui.