\r\n\r\n
お気に入りのブラウザはありますか?だとすれば、その魅力は何なのでしょうか。ある人はプラグインや拡張機能を利用することができ、またある人はプライバシーを保証してくれるブラウザを使うことを好むかもしれません。
しかし、多くのユーザーにとって重要なのは、スピードです。
しかし、あるブラウザが他のブラウザより速い理由は何でしょうか?技術的な側面とユーザーコントロールの側面に分けて考えることができます。詳しくはこちらをご覧ください。
ブラウザの開発者はそれぞれ異なるコードを書いており、コーディング方法**の違いがページの読み込みにかかる時間に影響を与えます。
注目すべきは、「ブラウザエンジン」と「JavaScriptエンジン」の2つの機能です。
ブラウザエンジンは、すべてのブラウザの重要な構成要素です。HTMLやCSSのコードを解析し、コンピュータの画面に表示したり、セキュリティポリシーを実施したりと、多くのタスクを担っている。
少なくとも、ブラウザエンジンは、HTMLやXML文書や画像を表示し、フォント、色、文字サイズを設定することができます。また、使用するブラウザによっては、PDFなどの表示も可能です。
ユニバーサルブラウザエンジン
ブラウザエンジンにはいくつかありますが、一般的によく使われるのは、Blink、EdgeHTML、Gecko、WebKitの4つです。
Blinkは、Google、Opera、Adobe、Intel、Samsungによって開発されたクロスプラットフォームエンジンです。ChromeとOperaで見ることができます。元々はWebKitの分派で、WebKit自体がKDEのKHTMLとKJSライブラリの分派です。ライセンスは「***gnulgpl」です。
EdgeHTMLは、Microsoft社が独自に開発したブラウザエンジンです。EdgeHTMLは、2015年にTrident(Internet Explorerに搭載)に代わり、同社のEdgeブラウザ向けに特別に設計されたものです。理論上は、BlinkやWebKitと完全な互換性を持っています。
Geckoは、Mozillaの製品です。Firefox、Thunderbird、そしてあまり知られていないブラウザで見つけることができます。(Firefoxブラウザを選択した場合は、高速化のヒント一覧をご覧ください)。
最後に、WebKitはAppleのブラウザエンジンです。Safari、Amazon Kindleブラウザ、TizenスマートTV、BlackBerryオペレーティングシステムで使用されています。2013年までは、Chromeのブラウザエンジンでした。
その他のブラウザエンジンとしては、Goanna(Geckoの派生版)、Servo(Mozillaの実験的エンジン)などがあります。
重要性の低下
21世紀において、ブラウザが競合他社よりも速くページを読み込めるかどうかは、間違いなくブラウザエンジンが最も重要な要素である。
しかし、技術の複雑化に伴い、ブラウザエンジンの重要性は低下し、性能面で最も重要な技術的側面ではなくなりつつあります。
その代わり、JavaScriptエンジンに注目する必要があります。
また、各ブラウザーは、ウェブページの読み込み速度に最も影響を与えるJavaScriptエンジンを使用しています。
ご存じない方もいらっしゃるかもしれませんが、JavaScriptはインターネット上で公開されているプログラミング言語です。一般的には、インタラクティブなオブジェクトやアニメーションなどのユーザーエクスペリエンス機能をサポートします。
JavaScriptエンジンは、サイトのJavaScriptコードを、ブラウザが最短時間で解釈できるように最適化された出力に変換する役割を担っています。繰り返しになりますが、主要なブラウザには、それぞれ異なるJavaScriptエンジンが搭載されています。
V8エンジン
V8は、GoogleのJavaScriptエンジンです。Chromeに搭載されています。2008年にChromeが発売された当初から搭載されています。
Full codegen(最適化されていないコードを生成する高速なコンパイラ)とcranks(最適化されたコードを生成する低速なコンパイラ)の2つのコードコンパイラを備えています。コードはまずフルコードで実行され、Cranksが最適化が必要だと判断した場合は、Cranksが介入する。
ジャバスクリプトコア
JavaScriptCoreはNitroというブランドで、AppleのSafariブラウザのベースになっている。2番目に主流となったJavaScriptエンジンです。
V8とは仕組みが違う。2つのコンパイラを使う代わりに、すべてのJavaScriptを字句解析してトークンを作成します。トークンはパーサーによってバイトコードに変換され、4つの「ライブ」プロセスがバイトコードを実行する。
(Safariを高速化する方法については、こちらのガイドをご覧ください)。
スパイダードアキー
SpiderMonkeyは、元祖JavaScriptエンジンです。1990年代にNetscape社が作ったもので、Netscape社が廃業した後はオープンソースソフトウェアになりました。現在ではMozillaがメンテナンスしており、Firefoxで見ることができます。
ユニバーサルなJavaScriptエンジンは、Microsoft Edgeに含まれるChakraだけです。
どのJavaScriptエンジンが最速なのか、明確な答えはありません。あるJavaScriptのコードはSafariで、別のJavaScriptのコードはChromeで高速に動作する可能性があります。
この違いの多くは、ベースとなるJavaScriptの書き方や、さまざまなエンジンコンパイラとの相性に依存します。また、ブラウザによっては、各サイトの速度をさらに向上させるために、ローディングやキャッシュのアルゴリズムを使用しているものもあります。
あるブラウザが他のブラウザより速く見える理由は、ユーザーによってコントロールされている側面もあります。ここでは、今すぐ解決できる代表的な3つの問題を紹介します。
以前にもお伝えしましたが、ブラウザは常に最新版を起動するようにしましょう。
機能追加やセキュリティの強化だけでなく、ボンネットの中の技術的な側面も改善され続けています。しばらく更新していない場合は、更新ボタンをクリックするだけで、大幅な速度向上が見られるかもしれません。
プラグイン、拡張機能、アドオンは、ブラウザをより便利にするものです。しかし、CPUパワーやRAMを消費し、リソースの大きな足かせとなることもあります。
どんどん追加したくなる気持ちはわかりますが、絶対に必要以上の拡張機能を実行するべきではありません。
ブラウザは、お客様の使用パターンに関するデータを大量に収集します。これには、お客様の閲覧履歴、クッキー、ダウンロードログなどが含まれます。また、ますます大規模なキャッシュを作成します。
このデータをすべて消去することで、ブラウザが探しているものを見つけるために、バックグラウンドでファイルを探し回る時間が短縮されるため、処理速度が大幅に改善されます。
ブラウザの速度に影響を与えるあまり知られていない要因について説明したときに、これらの問題などすべてについて書きました。
ブラウザは高速インターネット体験の一部に過ぎません。ルーター、Wi-Fiネットワーク、ISP、ジオロケーションも一役買っています。
いくつかは、あなたのコントロール下にあります。インターネット接続速度については、Wi-Fiエラーの回避とDNS設定の変更に関するガイドをご確認ください。