コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

HHVM村入門

初投稿ですよろしくオナシャス

ご精読に当たっての注意
・ブログ環境なので、音声解説とかありません
・なので、ゆっくり音声とかは流れることはないですし、そんなものは聞こえないはずです
・このブログが参考になったと思ったらいいねとかオナシャス


HHEM村と空目した人残念、HHVM村でしたの入門記事はぁじめるよぉー!


まずは、HHVMとは何かについてみていきましょう。

HHVM
HipHop Virtual Machine(ヒップホップ・バーチャル・マシン、HHVM) は、実行時コンパイラJIT)方式でPHPおよびHackといったプログラミング言語を実行する、仮想機械型の処理系である。HHVMで実行する場合、PHPやHackのコードは、JITコンパイルの過程でまず中間言語HipHopバイトコード (HHBC) に変換され、さらに動的にx64の機械語へとコンパイル・最適化を行った上で実行される。これに対し、公式のPHP実装であるZend Engineでは、PHPのコードを中間表現に変換した上で、中間表現をそのまま実行している。

HHVMはFacebook社が開発しており、Github上にあるソースコードPHP LicenseとZend License(英語版)のもと公開されている。

これのことです。ヒップホップしか頭に入ってこないからなんのことかってなりますが、PHPコンパイル環境(雑解釈)です。一般にPHPインタプリタ言語だからコンパイルしないなんて言われていますが、実はやつは実行時にコンパイルしていたのだ。な、なんだってー。まあ、この辺りの深淵をのぞきたい場合はPHPでよく使われる実行エンジンであるZendEngineの仕組みなどをググるなりして調べてみよう。

今日はHHVM村タイトルで記事書いているのでHHVMの話をします。

HHVM公式
HHVM | HHVM


ということで、これを導入するとどうなるかというとPHPが書けるようになります。そして世間一般では高速PHP環境なんて言われています。どう高速になるかは僕、よぐわかんにゃい(調査不足)。その他のメリットとしてはPHP7とかHackとか言うイケイケな流行言語がいじれるようになるとかがあると思います。それ以外のパフォーマンスの話はよぐわかんにゃい(調査不足)。

早速使ってみるよ

ということで導入して「動いたーやったー」までをやっていきます。今回は久しぶりにMacから導入していくことにします。

Install参考
Installation: Mac

これでいけるらしいね。しれっとbrewとか言うコマンド使っているけど、使えなかったらHomebrew用意しよう。

brew tap hhvm/hhvm
brew install hhvm


あ、ちなみに何でいつものようにWindowsでやらないかと言うと、Windowsでの導入について面倒くさいこと書かれていたからです。
Installation: Windows


導入できたら「はじめてのHHVM」の以下コマンドをうってサーバを用意します。
はじめてのHHVM

hhvm -m server -p 8080

確認用のPHPを書きます。
hello.php

<?php
  echo "Hello";

久しぶりにPHP書いたのでechoすらそらで書けなくなってて笑った。

これで以下にアクセスしてHelloの文字が出れば成功です。PHPが書けました。お疲れ様でした。

http://localhost:8080/hello.php

ちなみにphpinfo()で環境を確認するとちゃんとHHVMで動かしていることがわかります。ようこそHHVM村へ。


あっそうだ(唐突)。せっかくなので……、皆様のためにぃ……。


新たに使えるようになった言語、Hackの動作確認もします。
先ほどのソースの一行目を、入力のしやすさを考慮して<?hhに書き換えます。

<?hh
  echo "Hello";

これでもHelloが表示されます。これがHackだ。


Hackで何ができるかについては今後またいじっていくことにして、といった感じでHHVMが使えるようです。導入した感想ですが、パフォーマンスに関して調査不足のせいで何がいいのかさっぱりって感じになってしまいました。まあ、Hack動かしたくて導入しただけだし仕方ないね。

そう言うわけで以上で一切参考にならないHHVM記事を終了します。ご精読ありがとうございました。