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?

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens 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 mensagens dessa discussão

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

Receber mensagens dessa discussão

1 Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.