タグ

JavaScriptとJITに関するWatsonのブックマーク (2)

  • JavaScript エンジンの高速化

    これらの JavaScript エンジンのうち、以下では特に JavaScriptCore を扱います。 最適化の基戦略 JavaScript をはじめとする動的言語は、主にインタープリタにおいて実行されます。しかし、インタープリタはコンパイルされたコードと比較して実行に時間を要するという欠点があります。そこで、インタープリタの最適化では、バイトコードの JIT コンパイルが最初に行われます。 しかし、コンパイルには当然時間がかかります。少しでも高速化されたコードを生成するには、より多くの時間をコンパイルにかけなければなりません。コンパイルによる速度向上とコンパイルのレイテンシはトレードオフの関係にあります。 そこで、多くの JavaScript エンジンは、インタープリタと多階層の JIT コンパイラの組み合わせで構成されています。次の図は、主要な JavaScript エンジンの設計

    JavaScript エンジンの高速化
  • Introducing the B3 JIT Compiler

    As of r195562, WebKit’s FTL JIT (Faster Than Light Just In Time compiler) now uses a new backend on OS X. The Bare Bones Backend, or B3 for short, replaces LLVM as the low-level optimizer in the FTL JIT. While LLVM is an excellent optimizer, it isn’t specifically designed for the optimization challenges of dynamic languages like JavaScript. We felt that we could get a bigger speed-up if we combine

    Introducing the B3 JIT Compiler
    Watson
    Watson 2016/02/16
    B3 JIT、llvmよりコンパイル時間が相当短いね
  • 1