Help us understand the problem. What is going on with this article?

HHVMとHackを触ってみる

More than 3 years have passed since last update.

概要

リリースしてからずっと興味を持っていたが、今まで触っていませんでした。
PHP7のリリースによって、HHVMとパフォーマンスに差がないことから世間的には興味が薄れつつありますが、敢えてこのタイミングでHHVMとHackを触ってみます。

はじめに

Hack言語

2014年にFacebookにより開発されたプログラミング言語です。オープンソースとして公開されており、同社が開発したPHP実行環境のHHVM で動作します。

HHVM(HipHop Virtual Machine)

PHPやHackを実行する仮想マシンです。JITコンパイルで中間言語に変換した後、コンパイルして実行する方式です。

CentOS7にHHVMをインストール

ubuntuへのインストールが推奨されていますが、自分は業務でCentOSをよく使っているので、今回はCentOSにインストールします。
本家Githubにインストール方法が載っているので、そちらを参照して進めます。

手順

まずはCentOSを更新

yum update -y

EPELリポジトリ更新

rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

依存関係のあるライブラリ更新

yum install cpp gcc-c++ cmake git psmisc {binutils,boost,jemalloc,numactl}-devel \
{ImageMagick,sqlite,tbb,bzip2,openldap,readline,elfutils-libelf,gmp,lz4,pcre}-devel \
lib{xslt,event,yaml,vpx,png,zip,icu,mcrypt,memcached,cap,dwarf}-devel \
{unixODBC,expat,mariadb}-devel lib{edit,curl,xml2,xslt}-devel \
glog-devel oniguruma-devel ocaml gperf enca libjpeg-turbo-devel openssl-devel \
mariadb mariadb-server make libc-client -y

HHVMインストール

rpm -Uvh http://mirrors.linuxeye.com/hhvm-repo/7/x86_64/hhvm-3.15.3-1.el7.centos.x86_64.rpm

バージョン確認

$ hhvm --version

バージョンが正しく表示されれば、導入完了です。

初めてHHVMでHackを動かそうとして躓いた事

インストール後の動作検証として、世界に挨拶しようと下記コードが記載されたhello.hhを動かそうとした所、エラーが発生しました。

hello.hh
<?hh
echo "hellow hack\n";
$ hhvm hello.hh

Fatal error: hello.hh appears to be a Hack file, but you do not appear to be running the Hack typechecker. See the documentation at http://docs.hhvm.com/hack/typechecker/setup for information on getting it running. You can also set `-d hhvm.hack.lang.look_for_typechecker=0` to disable this check (not recommended).

指定されたドキュメントを確認した所、最初に .hhconfig を作成してから実行する必要が有ると記載されていました。
そのため、 .hhconfig を空で作成して再実行します。

$ hhvm hello.hh
hellow hack

無事に実行できました。
これで環境が整ったので今後も時間をみつけてHHVMとHackを触ってみようと思います。

最後まで読んで頂きありがとうございました。

juve_534
駆け出しから5年ほど保守ばかりやっていたPHPer٩( 'ω' )و 今は新規開発でLaravelやAWSと戯れている。 ScalaやHack、Elixirが気になっている。
dmmcom
総合エンタテイメントサイト「DMM.com」を運営。会員数は2,900万人を突破。動画配信、FX、英会話、ゲーム、太陽光発電、3Dプリンタなど40以上のサービスを展開。沖縄での水族館事業参入、ベルギーでのサッカークラブ経営など、様々な事業を手掛ける。また2018年より若手起業家の支援を強化、「DMM VENTURES」による出資や、M&Aなどを積極的に展開している。
https://dmm-corp.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away