画像提供:マイナビニュース

写真拡大

Mozillaは8月22日(米国時間)、「Inside a super fast CSS engine: Quantum CSS (aka Stylo)|Mozilla Hacks|the Web developer blog」において、これから始まるFirefox高速化の取り組みの先方となる「Quantum CSS」の内部の仕組みを紹介した。

MozillaはこれまでFirefoxを高速化するためのプロジェクトに取り組んできたが、その成果物の1つとなる「Quantum CSS」が今後リリースされるバージョンに取り込まれる見通しになっている。

MozillaはFirefoxを劇的に高速化する「Project Quantum」の取り組みを進めている。これは複数のサブプロジェクトから構成されており、Quantum CSSはその1つ。

Quantum CSSでは特に並列化されたCSSエンジンの実現を目指しており、主にServoの成果物を取り込みつつ、Chrome/Safariのスタイル共有キャッシュ機能などを使って実現している。

レンダリングエンジンの処理はドキュメントデータを読み込んだあとに構造解析を行い、そこにスタイルを適用して描画すべきスタイル計算を行う形になっている。

処理を高速化するために、Quantum CSSではスタイル計算処理を並列化している。また、ワークスティーリングと呼ばれるテクニックを使って、よりイーブンに処理を並列に割り振る仕組みを採用している。

従来のレンダリングエンジンは複雑でありこうした並列処理を行うことは難しいとされているが、Mozillaではプログラミング言語「Rust」を使うことでこの並列処理の複雑さを低減することに成功したという。

この点において、Quantum CSSの取り組みはRustが並列化によってアプリケーションを高速化するために有効なプログラミング言語であることを示したことにもなる。

Mozillaはこうした取り組みを進めることで、徐々にFirefox内部のコア部分にRustを適用していくものと見られる。これまで性能の面でほかのブラウザに先行されている感があったFirefoxだが、今後はブラウザの性能基準を引き上げる可能性が高く、注目される。