Experts.jp日本に、もっとエキスパートを。(3)ChromeやNode.jsで利用されているJavaScriptエンジン「V8」に、8年の歴史の中でも大きな変化が訪れました。8月3日にリリースされたバージョン6.1で、数年かけて進めてきたJavaScriptコンパイラーが世代交代を終えました。詳しい話は、V8のブログでも語られていますが、ここでは大きなトピックであるコンパイラーの世代交代についてお話します。frontier」によって紹介されています。本記事では、これらの発表内容を補足してご紹介します。V8のミッションとは?Chromeで使われているJavaScriptエンジン「V8」ですが、そのミッションはとてもシンプルです。web.(実世界での要求にあわせてモダンなJavaScriptのパフォーマンスを向上させること。compile)で動作させることができるJavaScriptのエンジンです。ブラウザがJavaScriptを受け取ると、ブラウザはそのコードをトランスレートして実行したり。コードを翻訳してコンピューターが理解できるネイティブコードにコンパイルしてから実行します。そこにはいくつかのトレードオフが存在します。コンパイルして生成されたネイティブコードは、実行されるピーク時の速度が早い一方で、コードの量が多いほど、最初に実行されるまでに遅延が発生する。一方で、トランスレーターを使った場合は、実行されるまでの遅延は小さいけど、実行時の速度が遅い。JavaScriptエンジンは、パフォーマンスを良くしようとするとメモリの消費量が多くなる。一方で、省メモリを進めようとするとパフォーマンスは悪化する。以下のような一行のfunctionを呼び出すコードについて考えてみましょう。一度しか呼び出されていませんよね。Perf)は重要視しません。