• Facebook Apresenta o HipHop

    Os desenvolvedores do Facebook anunciaram o lançamento do projeto HipHop, um inovador sistema de tradução de código capaz de converter as instruções da linguagem PHP versão 5.2 para a linguagem de programação C++. O novo sistema faz a conversão on-the-fly para código de máquina utilizando o compilador GNU g++. Haiping Zhao, um dos desenvolvedores do HipHop, relata que utilizando o tradutor de PHP do Facebook, eles conseguiram reduzir a utilização da CPU para uma média de 50%! E isso é uma economia de processamento monstruosa! O Facebook começou a utilizar a tecnologia HipHop à seis meses atrás, e atualmente a mesma já está atuando em, aproximadamente, 90% do tráfico Web do Portal.


    O PHP é a linguagem de script mais utilizada no mundo, já que seu principal foco tem sido a criação de sites Web dinâmicos. Esta poderosa ferramenta é semelhante a outras linguagens de script como Perl, Python e Ruby, e possui capacidade para gerar um enorme ganho de produtividade no desenvolvimento de projetos digitais. Da mesma maneira que essa linguagem de script é extremamente poderosa, ela também possui um revés de igual tamanho. E quando o assunto é CPU e utilização de memória, o PHP (assim como as outras linguagens de scripts citadas) é um predador foraz. Com isso, temos um enorme déficit em eficiência.

    Zhao também destaca que o HipHop não é um compilador, mas sim uma técnica de transformação de código. Ela pega os códigos em PHP e efetua uma análise estática para identificar as declarações, dependências, e uma análise de tipo, para trabalhar junto a tipos de variáveis em C++ que sejam apropriadas para mapear as variáveis PHP. Utilizando essa informação, ele então procede em sua conversão de código, de PHP para C++, com "sua maior parte" em correspondência direta entre as declarações PHP e o código C++ gerado. Algumas funções PHP foram devidamente sacrificadas, para que esse processo funcionasse. Em destaque a função eval(). O código resultante em C++ é então compilado via g++, para a produção dos executáveis finais.

    O HipHop também incorpora seu próprio servidor Web, e o mesmo é atualmente incompatível com o Apache. E pelo jeito, o Facebook não se importa em não utilizar esse consagrado servidor Web. De acordo com David Recordon, o Gerente de Programas Abertos do Facebook, "em geral, o Apache é um ótimo servidor Web, mas quando nós estamos procurando uma maneira de conseguir o próximo meio porcento em performance, nós vimos que não precisávamos de todas as funcionalidades que o Apache pode oferecer". Porém, Recodrdon destaca que seria interessante, no futuro, existir um projeto de código aberto que permitisse ao HipHop trabalhar em conjunto com o Apache. Quem sabe na forma de um módulo?

    Atualmente, o HipHop é adequado para implementações em larga escala como o Facebook, não sendo adequado para uso em projetos de hospedagem PHP de pequeno porte. Os desenvolvedores planejam criar, no futuro, o suporte ao HipHop para a versão 5.3 do PHP. É bom deixar bem claro que esse projeto não tem a intenção de dividir a comunidade PHP, mas sim, contribuir para o crescimento da linguagem e, ao longo deste ano, tornar a tecnologia HipHop fácil de implantar.

    O código do projeto HipHop será em breve liberado sob a mesma licença do PHP, e estará disponível no GitHub.


    Saiba Mais:

    [1] Heise Online: http://www.h-online.com/open/news/it...de-920962.html