オープンソースブラウザ「Google Chrome」の動作速度向上に向けたGoogleの試みの一環として、Chromeのプログラマーらは、サードパーティーのソフトウェアパッケージを捨て、独自のパッケージに切り替えた。
この変更は、正規表現と呼ばれるJavaScriptテキストを処理するためのキーコンポーネントに関するもの。プログラマーのErik Corry氏、Christian Plesner Hansen氏、Lasse Reichstein Holst Nielsen氏の3人は、The Chromium Blogへの投稿で、「JavaScriptの他の部分は改善してきたが、他の部分よりも正規表現の遅れが目立ち始めた。そこで、われわれは、外部ライブラリを利用するよりも、われわれの既存のインフラと統合することにより、JavaScriptの性能が向上するはずだと考えた」と述べている。
その結果として、Google独自のプロジェクトである「Irregexp」が生まれた。Irregexpは、新しい開発者向けプレビュー版「Chrome2.0.160.0」の重要機能(リリースノートはこちら)となっている。ネイティブコード生成、バックトラッキング回避、中間オートマトン表現に関してGoogleが選んだ技術的な詳細に関心のある方はブログ投稿を参照されたい。
Chromeにはこれまで、「JSCRE」と呼ばれるサポートソフトウェアパッケージ(ライブラリ)が使用されていた。JSCREは、Webkitブラウザプロジェクトが開発した「PCRE」パッケージのバリエーションの1つである。JSCREは、ChromeにWebkitベースの「Safari」とより近い動作をさせることで互換性の問題を緩和したが、Googleはこの互換性の問題の解決策を手中におさめたと考えている。
プログラマーら3人は、「われわれは開発中、最も人気の高い100万のウェブページでIrregexpを検証した。このテストは新たな実装が、以前の実装やウェブと互換性を維持していることを確実にするためである」と述べている。
同プログラマーらはまたこれとは別に、JavaScriptベンチマークの第3版を開発したと発表した。このバージョンでは特に、最も人気の高い50のウェブページから採用された正規表現を用いている。
JavaScriptは、「Google Docs」や「Gmail」といった高度なウェブアプリケーションを構築するためにますます広く利用されている。
JavaScriptはウェブページのインタラクティブな部分で利用されているため、動作速度が特に重要である。素早い反応や不快な遅れは、ウェブアプリケーションを操作しているユーザーにとって気になりやすい側面である。JavaScriptはまた、ウェブページのごく一般的な部分にも広く利用されているため、JavaScriptの速度が向上すれば、ウェブブラウジングのパフォーマンスが幅広く向上することになる。
ChromeのJavaScriptエンジンは「V8」と呼ばれる。Mozillaの「Firefox」は「TraceMonkey」を搭載し、WebKitは「SquirrelFish Extreme」を搭載している。Operaは、同社の新しいJavaScriptエンジン「Carakan」で競合製品に対抗する構えだ。
この記事は海外CNET Networks発のニュースを編集部が日本向けに編集したものです。海外CNET Networksの記事へ