BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Facebook libera o HipHop PHP

Facebook libera o HipHop PHP

A equipe do Facebook anunciou recentemente a liberação do projeto HipHop for PHP, cujo intuito é traduzir código PHP para código C++ e depois compilá-lo com o G++, o que segundo os criadores diminuiu em 50% o uso de CPU nos servidores do Facebook no processo de renderização das páginas.

O HipHop não é um compilador em si, mas sim um transformador de código. Ele transforma o código PHP em código C++ mais otimizado possível e depois compila esse código com o G++. Obviamente alguns recursos como o eval() que executa código-fonte em tempo de execução tiveram que ser sacrificados nessa implementação. Além de transformador de código o HipHop também é uma reimplementação do runtime do PHP, e também uma sobrescrição de várias extensões do PHP.

O processo envolvendo o HipHop incluí 3 passos:

  1. Análise estática, onde o sistema coleta informações sobre quem declara o que e as dependências.
  2. Inferência de tipo, onde ele escolhe o tipo mais específico do C++ para representar algum dado do PHP.
  3. Geração de código, que na maioria das vezes é uma ligação direta das statements e expressões do PHP para as statements e expressões do C++.

O Augusto Campos postou no site Br-Linux sobre o assunto e disse que segundo o Slashdot, o Facebook já roda o HipHop há alguns meses, estando por trás de 90% de seus servidores. Ele também especula sobre o futuro do HipHop:

Mas a expectativa do articulista de lá, compartilhada por mim, é que a partir da disponibilização do código sob a licença livre escolhida, não vá demorar até alguém lançar as alterações ou complementos que permitirão rodar o HipHop sobre o Apache, ou outro servidor à escolha do freguês.

 O HipHop está disponível no GitHub distribuído sob a licença open source do PHP.

 E você desenvolvedor PHP, o que acha da idéia do HipHop?

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT