![Page 1: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/1.jpg)
HHVM - ENTRE NESSE RITMO
![Page 2: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/2.jpg)
SOBRE MIM
DEVELOPER POR AMOR HA MAIS DE 5 ANOS
ZEND CERTIFIED ENGINEER DESDE 2013
APAIXONADO POR TECNOLOGIA
![Page 3: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/3.jpg)
HHVM - O QUE EH ?HHVM - HIP HOP VIRTUAL MACHINE
ESCRITA PELO FACEBOOK
DESENVOLVIDA EM C++, PHP E OCALM
POSSUI UMA LINGUAGEM OPICIONAL CHAMADA “HACK”
OBJETIVO: SER MUITO MAIS RAPIDA QUE O “ZEND” PHP E SER COMPATIVEL COM ELE
![Page 4: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/4.jpg)
UM POUCO DE HISTORIA!!
2008 - HPHPc , HPHPi, HPHPd
2010 - HHVM - Suporte a PHP 5.4
2013 - HPHPc DEPRECIADO
![Page 5: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/5.jpg)
COMPATIBILIDADEUNIX BASED OS (SE VOCE PREFERE WINDOWS, USE O VAGRANT)
NGINX e APACHE
PHP 5.4
LIBRARIES: COMPOSER, DOCTRINE, MONOLOG, TWIG, GUZZLE, REACTPHP, PHPUNIT.
FRAMEWORKS: SYMFONY, DRUPAL, CODEIGINITER, CAKEPHP, LARAVEL, SILEX, SLIM, ETC.
![Page 6: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/6.jpg)
COMO A HHVM FUNCIONA ?
?
?
?
?
?
?
? ? ?
? ?
?
?
?
?
?
?
?
?
? ?
?
? ?
? ?
?
? ? ? ?
?
?
?
?
![Page 7: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/7.jpg)
CONTEXTUALIZANDO…
HIP HOP BYTECODE
MACHINE CODE
JUST IN TIME COMPILER (JIT)
ABSTRACT SYNTAX TREE (AST)
![Page 8: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/8.jpg)
PHP AST HHBCMACHINE
CODE
JIT
![Page 9: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/9.jpg)
HACK AST HHBCMACHINE
CODE
JIT
![Page 10: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/10.jpg)
ALGUNS GRAFICOS QUE IRÃO TE CONVENCER
REQUISIÇÕES POR MINUTO (REQUISIÇÕES DE RÁPIDA RESPOSTA)
REQUISIÇÕES POR MINUTO (REQUISIÇÕES DE LONGA RESPOSTA)
![Page 11: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/11.jpg)
NÃO SURPREENDIDO?
TEMPO DE RESPOSTA EM MS (REQUISIÇÃO DE RÁPIDA RESPOSTA)
TEMPO DE RESPOSTA EM MS (REQUISIÇÃO DE LONGA DURAÇÃO)
![Page 12: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/12.jpg)
INSTALAÇÃO - DEBIAN BASED deb http://dl.hhvm.com/ubuntu saucy main ! apt-get update! apt-get install hhvm! /etc/init.d/hhvm start!#no config do nginx!location ~ \.php$ {! fastcgi_index index.php;! fastcgi_keep_conn on;! include /etc/nginx/fastcgi_params;! fastcgi_pass 127.0.0.1:9000;! fastcgi_param SCRIPT_FILENAME ! $document_root$fastcgi_script_name;!}
![Page 13: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/13.jpg)
INTALAÇÃO - Mac OS X brew tap homebrew/dupes ! brew tap homebrew/versions! brew tap mcuadros/homebrew-hhvm! brew install hhvm !#no config do nginx!location ~ \.php$ {! fastcgi_index index.php;! fastcgi_keep_conn on;! include /etc/nginx/fastcgi_params;! fastcgi_pass 127.0.0.1:9000;! fastcgi_param SCRIPT_FILENAME ! $document_root$fastcgi_script_name;!}
![Page 14: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/14.jpg)
INSTALAÇÃO - WINDOWS
![Page 15: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/15.jpg)
![Page 16: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/16.jpg)
MAS AINDA FALTA UMA COISA…
![Page 17: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/17.jpg)
HACK
![Page 18: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/18.jpg)
MODOS
STRICT “<?hh /strict ”
PARTIAL “<?hh /partial” - DEFAULT
![Page 19: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/19.jpg)
TYPE ANNOTATIONS
![Page 20: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/20.jpg)
GENERICS
![Page 21: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/21.jpg)
COLLECTIONS
![Page 22: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/22.jpg)
GENERATORS
![Page 23: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/23.jpg)
CLOSURES
![Page 24: HHVM - Entre Nesse Ritmo - TDC Florianopolis 2014](https://reader031.vdocuments.com.br/reader031/viewer/2022020218/55731d1ed8b42aae7b8b49bb/html5/thumbnails/24.jpg)
ASYNC