BT

Facebook libera o HipHop PHP

por Lucas Souza em 10 Fev 2010 |

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?

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

Será? by Fabiano Silva

O maior medo ocorre na inferencia de tipos. Tradutores de linguagem muitas vezes complicam mais do que ajudam. Agora, sair da linguagem interpretada para a compilada, sem dúvida é um passo interessante.

É testar e ver os resultados.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

1 Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT