Firefox Quantumの「速さ」の秘密

mozilla.jpg

Firefox Quantumの「Quantum」とは「量子」を意味しますが、実際に量子を使って動いているわけではなく「量子コンピュータ」に代表される高速処理のイメージを重ね合わせて命名されたものです。

その一翼を担うのが、Quantum CSS(別名Stylo)とも呼ばれる新しいCSSエンジンです。

CSSエンジンはレンダリングエンジンの構成要素の1つで、CSSパーサーとスタイルシステムから構成されており、HTMLパーサーが生成したDOMノードが樹状に連なったDOMツリーに対して、CSSを解釈してスタイルを計算した結果を当てはめていきます。

01.png

Quantum CSSは、Rust言語で書かれた約8.5万行のコードで構成されます。旧来のCSSエンジンがC++で書かれた16万行のコード構成であったことを考えると、半分程度のコンパクトさであると言えます。

Quantum CSSの最大の特徴は、あらゆる処理を並列化することです。近年、インタラクティブなWebサイトが増加の一途を辿っていますが、インタラクティブ性が増すほど、これらを下支えする処理による負担は重くなる一方です。

Quantum CSSでは、DOMツリーを瞬時に分割して各CPUコアに割り当てを行うので、コンピュータのCPUの数が多ければ多くなるほどスピーディーな処理が可能になります
  

超高速なFirefox Quantumを倍速で使う方法

top.png

「量子エンジン (Quantum Engine)」によりページの読み込み速度が軽快になったFirefox Quantumですが、さらに高速にする方法Mozilla Blogによって紹介されています。

それは、Firefoxの「プライベートブラウジング」機能を使うことです。

pv.png

プライベートブラウジング機能は、スマートフォンやデスクトップなど、利用している端末にCookieや検索履歴、一時ファイルなどを残さずにWebページを閲覧する機能です。
Google Chromeにも「シークレットモード」(Incognito Mode)が搭載されていますが、それと基本的には同じ機能を指します。

実際、この機能を有効にすることで、どれくらい速くなるのでしょうか。

以下は、13インチのMacBook Pro 2017で、Alexa.comの上位200ニュースサイトでページの読み込みを計測した平均秒数を表したグラフです。

vschrome.jpg

このグラフによれば、「プライベートブラウジング」機能をオンにしたFirefox Quantumが、ほかのブラウザに比べて約半分の読み込み時間になっていることがわかります。

一方で、Google Chromeでは「シークレットモード」をオンにしても読み込み速度が変わっていません。

また、6秒以内に読み込まれたページの割合を確認してみましょう(6秒というのは、これを超えることでユーザーの直帰率が70%を超えてしまうという調査に基づいています)。

speed.jpg

この実験でも、「プライベートブラウジング」機能をオンにしたFirefox Quantumのほうがよい成績を残していることが明らかになりました。

ZDNetでの調査でも、いくつかの項目でGoogle Chromeを追い越していることがわかっています。人工的なベンチマークを離れた使用感としては速度の差異を感じることはないにしても、Firefox QuantumはGoogle Chromeに肩を並べるできになっています。