Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

日本中がGraalに湧いた日

Java Day Tokyo 2018で、"Graal: How to use the new JVM JIT compiler in real life"というセッションがありました。スピーカはTwitter社のChris Thalingerさんです。

www.oracle.co.jp

Chrisさんは今年Voxxed DaysやOracle Codeなどさまざまなカンファレンスでこのセッションをやっておられます。日本でもこうしてやっていただけて感無量です!

参加できなかった方は、このセッションタイトルでYouTubeを検索すると、限りなく同じセッションを視聴できます。

www.youtube.com

ショートバージョンとロングバージョンがありますので、長い方をお選びください。私は(同じ内容ながら)いくつか見ています。たしかデモがうまくいかなかったものもあると思います。

ここでのGraalはGraalVMではなくGraal JITコンパイラの方です。違いについての詳細は私のエントリを参照してください。 詳説GraalVM(1) イントロダクション - Fight the Future

セッションは満席、Graalについて多くの日本のエンジニアが興味を持っていることがうかがえます。

私としては、今回動画を見ても知れなかったことが知れて、非常に満足です!

  • GraalがC2より優れたパフォーマンスが出せる理由は? -> さらなるインライン化と部分的なエスケープアナリシス
  • Chirisさんはハワイに住んでTwitter社のVMチームで仕事をしている? -> Yes!

このさらなるインライン化はどういうものか具体的な内容を理解していません。部分的なエスケープアナリシスについてはちょうど論文を途中まで読み進めており、自分でもGraalの高パフォーマンスの要因と考えていました。確証を得られて非常によかったです。

Partial Escape Analysis and Scalar Replacement for Java http://ssw.jku.at/Research/Papers/Stadler14PhD/Thesis_Stadler_14.pdf

そもそもエスケープアナリシスって?という方は、前号のJava Magazineにその解説記事があります。

Escape Analysis in the HotSpot JIT Compiler - Java Magazine http://www.javamagazine.mozaicreader.com/MarApr2018/Default/73/0#&pageSet=73&page=0&contentItem=0

Java Day TokyoではナイトセッションAsk the Expertsがあり、エキスパートに質問する時間がありました。クリスさんもおられたので、質問してみました。

"Graalが好きでビルドしたりコードを読んだり、論文を読んだりしています。Graalのエキスパートになるにはどうしたらいいですか?"

多くのアドバイスをいただきました。その中で、コンパイラに関わりたいならやはりドラゴンブックを読もう、と教えていただきました。

コンパイラ―原理・技法・ツール (Information & Computing)

コンパイラ―原理・技法・ツール (Information & Computing)

  • 作者: A.V.エイホ,R.セシィ,J.D.ウルマン,M.S.ラム,Alfred V. Aho,Jeffery D. Ullman,Ravi Sethi,Monica S. Lam,原田賢一
  • 出版社/メーカー: サイエンス社
  • 発売日: 2009/06/01
  • メディア: 単行本
  • 購入: 1人 クリック: 128回
  • この商品を含むブログ (30件) を見る

あと、なぜか私が質問するときだけ会場に笑いが起こったのですが…

私はGraal(VM/JITコンパイラ)に対する、いわゆるアマチュア天文家という位置づけだと自分で思っています。大好きなJVMがJavaで書かれていくこと(いわゆるProject Metropolis)で、自分にとっては少なくとも文法上は読めるというのは本当にいいタイミングだなと思っています。