Muitos desenvolvedores ainda consideram o PHP (Hypertext Preprocessor) a melhor linguagem de script open source. Contudo, uma ferramenta virtual chamada HHVM vem atraindo a atenção dos programadores, devido ao seu aparente desempenho superior.

Grande parte do debate acerca das duas tecnologias focaram na velocidade de desempenho. Apesar de parecer uma métrica válida para análise, é importante lembrar que existem outras variáveis nessa comparação. 

Quer entender mais sobre esse assunto? Continue lendo o material que preparamos a seguir e descubra!

O que é HHVM (HipHop Virtual Machine)?

HHVM é uma máquina virtual open source, baseada em compilação JIT (Just In Time) e que serve para executar linguagens de programação escritas em Hack e PHP 5 ou 7.

Ao usar compilação JIT, o HipHop Virtual Machine consegue oferecer um melhor desempenho, enquanto mantém a flexibilidade e facilidade de uso que os desenvolvedores de PHP estão habituados. 

Essa ferramenta foi criada pelo Facebook em 2010 e lançada oficialmente em 2011. Seu objetivo era de reduzir custos com servidores, a fim de proporcionar uma experiência de web mais fluida para os usuários da rede social. 

Como instalar o HHVM?

hhvm como instalar

De modo geral, instalar o HHVM em computadores Linux e MacOs é mais fácil do que em máquinas com Windows. Por isso, vamos exemplificar a instalação da ferramenta em Ubuntu 64Bits (16.04 ou 14.04).

Primeiramente, você precisará ter uma permissão de super usuário do Ubuntu para concluir a instalação. Em seguida, é necessário instalar sua versão mais recente no terminal:

  1. sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
  2. sudo add-apt-repository “deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main”
  3. sudo apt-get update
  4. sudo apt-get install hhvm

Feito isso, é preciso executar os seguintes comandos, também no terminal:

  1. hhvm –version
  2. ## A saída vai ser essa informação abaixo.
  3. HipHop VM 3.15.2 (rel)
  4. Compiler: tags/HHVM-3.15.2-0-g83ac3e5e3f5657be0cf4c55884044f86a7818b90
  5. Repo schema: 608339137764e8365964a1adaa7a27d125b6076f

Assim que tiver finalizado a instalação, já pode executar os primeiros programas em PHP, que rodarão em HHVM com melhor qualidade. Algumas delas são: WordPress, Laravel Framework, MediaWiki e Dokuwiki. 

Vantagens e desvantagens da tecnologia

Da mesma forma que outros frameworks, o HHVM apresenta vantagens e desvantagens de usabilidade. Nos primeiros anos de seu lançamento, sua dificuldade de implementação prejudicou sua popularização. 

Entretanto, sua versão mais recente, 3.15.2, conseguiu simplificar esse processo, além de melhorar ainda mais sua velocidade de execução. Contudo, as melhorias não acabaram com os contras da ferramenta. Confira quais são elas mais abaixo. 

Vantagens do HHVM

Conforme citamos inicialmente, a compilação baseada em JIT do HHVM confere um desempenho melhor em relação ao PHP. 

Além disso, por ser um produto do Facebook, seus desenvolvedores trabalham constantemente para aprimorá-lo e oferecer mais suporte para a comunidade. 

Outra vantagem é a função de tradução dinâmica. Ela permite que os sites da web sejam executados mais rápido, em diversas situações. 

Também vale destacar que o uso da linguagem Hack, possibilitando aos programadores o uso de uma tipagem mais dinâmica e estática, a fim de aprimorar ainda mais a velocidade de compilação.

Em suma, o HHVM consome pouquíssimo espaço de memória para executar suas oscilações e qualquer desenvolvedor consegue instalar e trabalhar com ele.  

Desvantagens do  HHVM

No caso das desvantagens, vamos começar com a instalação de extensões. Apesar de ser possível, é necessário convertê-las primeiro. 

Mesmo que seja uma situação hipotética bem improvável, existe a possibilidade do Facebook interromper o suporte ao HHVM. Com isso, a comunidade de suporte e desenvolvimento deixaria de existir. 

Outro ponto é que o HHVM não é compatível com todos os temas e plugins do WordPress. Contudo, é possível hackeá-los para fazê-los funcionar com o framework

O HipHop Virtual Machine foi criado para computadores mais potentes. Por isso, não existe suporte para seu uso em máquinas 32Bits. 

Por fim, o HHVM exige mais memória que o PHP 7 — mesmo não consumindo tanta memória. Então, a recomendação é não utilizá-lo em servidores com menos de 2GB de RAM. 

PHP 7 x HHVM: diferenças e comparativo

Antes de fazermos um comparativo do PHP 7 com o HHVM, vamos analisar suas semelhanças. Como os dois frameworks executam o mesmo código, seu processo de escrita é praticamente o mesmo. 

É claro que, antes de conseguir usar o HHVM, você precisa instalá-lo no terminal e “chamá-lo” com o comando HHVM. 

Porém, a maior diferença do PHP 7 para o HipHop Virtual Machine é a forma que ambos interpretam o código. No caso do PHP 7, que utiliza o interpretador PHP padrão, ele gera o HTML, transmite ao cliente e, por fim, exibe a página para o usuário. 

Por outro lado, o HHVM converte o código PHP antes de traduzi-lo e executá-lo. Durante esse processo, todas as ineficiências do PHP 7 são eliminadas, gerando um melhor desempenho. 

Caso você busque na Internet por comparações de velocidade, poderá encontrar informações conflitantes. Isso porque, é necessário verificar a metodologia aplicada antes de determinar qualquer coisa. 

Dependendo da versão utilizada, o desempenho do HHVM pode ser superior, ou completamente o oposto.

Hospedagem VPS para aplicação do HHVM

hhvm vps

Uma excelente forma de executar o HHVM e melhorar ainda mais sua eficiência é por meio de um Servidor VPS (Virtual Private Server). Trata-se de uma solução intermediária, entre a hospedagem dedicada e compartilhada.

Pode ser usada por usuários com demandas pontuais no processo de armazenamento. Na prática, funciona reservando parte de um processador potente, enquanto reproduz um servidor virtual. 

Assim, exige menos processamento e, portanto, requer menos investimento. 

Conclusão

Como você pode notar, o HHVM chegou no mercado para transformar o modo como os desenvolvedores conseguem gerenciar páginas da web. 

Mas, na verdade, escolher a solução ideal dependerá da versão do framework utilizado, capacidade da sua máquina e do volume de demandas que precisa gerir todos os dias. 

Caso precise lidar com muitos acessos simultâneos, e tenha um servidor multinúcleo capaz de suportar esse volume, o HHVM parece ser a melhor opção. Porém, se essa não for a sua realidade, o PHP 7 conseguirá dar conta da maioria dos usuários. Gostou deste conteúdo? Então, veja como otimizar seu projeto com a Cloud Server e cresça na web!