【コラム】
OS X ハッキング!
268 世界最速はダテじゃない? Safari 3.1を検証する
2008/03/22
息をするのも面倒くせぇ (by ゲイラ - 北斗の拳) というわけではありませんが、できるだけ文字を書きたく / 入力したくないこの私。iCalにも、自分以外にはわからないほど略した文字列を書き込んでいます。で、3月22日の予定は「人犬」。もちろん飛鳥了のことではありません、バリウムを飲まなきゃならないんです……ああ、憂鬱。
さて、今回は「Safari 3.1」について。Leopardの発売に先立ちOS X 10.4.11とともにリリースされたv3.0から約4カ月、メジャーバージョンこそ変わらないものの、機能的には大きく前進している。いまやOS Xユーザ必携のこのWebブラウザについて、これまで紹介してこなかった機能を中心に検証してみたい。
まずはお約束、ベンチマーク
Safari 3.1のウリは、なんといっても「高速性」。すでに当コラム第262回で説明したとおり、getElementsByClassName関数のネイティブ実装などによる、JavaScript処理系の高速化が主な理由だ。
早速、ベンチマークを測定してみよう。利用するのは、WebKit開発チーム謹製の「SunSpider 0.9」、その詳細はこちらの記事を参照いただきたい。
そのスコアだが、ベンチマークに要した時間はSafari 3.0.4の約37%、つまり約2.7倍高速といえる。処理速度には定評のあるFirefox 2.0と比べても、約3.7倍の速度だ。同じくJavaScriptが高速化されたFirefox 3.0 -- 現時点ではβ4 -- と比較しても、Safari 3.1の優位は変わらない。JavaScriptの処理速度に関していうかぎり、Appleがいう"世界最速"はダテではないといえる。
表1: SunSpider 0.9の実行結果(単位: ミリ秒)
| Safari 3.1 | Safari 3.0.4 | Firefox 3.0 β4 | Firefox 2.0.0.12 | |
|---|---|---|---|---|
| 3d | 396.9 | 1268.1 | 491.1 | 1773.8 |
| access | 510.5 | 1821.9 | 570.8 | 1000.4 |
| bitops | 450.4 | 1628.8 | 463.4 | 3417.7 |
| controlflow | 89.8 | 213.8 | 41.1 | 90.2 |
| crypto | 233 | 740 | 248.4 | 507.2 |
| date | 283.7 | 481 | 379.6 | 1541.7 |
| math | 445.1 | 1125.4 | 490.8 | 978.5 |
| regexp | 209.8 | 344.7 | 273.4 | 595.6 |
| string | 644.5 | 1244.7 | 807.9 | 2200.1 |
| TOTAL | 3263.7 | 8868.4 | 3766.5 | 12104.9 |
※:テストにはMacBook Pro 2.33GHz / 2GB RAM、Mac OS X 10.5.2を使用
![]() |
同時公開されたWindows版Safari 3.1についても検証したところ、興味深い結果となった。ハードスペックが同じマシン (MacBook Pro 2.33GHz / 2GB RAM、OSはWindows XP SP2) で実行したにもかかわらず、同じSafari 3.1のスコアに大きな差が現れたのだ。ライブラリを確認してみたが、WebKit.dllのバージョンは3.525.13.0とコードベースは大差なく、基盤であるOSとAPIの性能差によるところが大きいと推測できる。ちなみに、Internet Explorer 7と比較したWindows版Safari 3.1の速度は約5倍という結果だった。
表2: Windows XPで行ったSunSpider 0.9の実行結果
| Safari 3.1 | Internet Explorer 7 | |
|---|---|---|
| 3d | 728.2 | 1496.8 |
| access | 941 | 2109.4 |
| bitops | 797 | 1943.8 |
| controlflow | 184.6 | 571.8 |
| crypto | 524.6 | 1231.2 |
| date | 490.8 | 1003.2 |
| math | 768.8 | 1378.2 |
| regexp | 365.4 | 428 |
| string | 1162 | 18871.6 |
| TOTAL | 5962.4 | 29034 |
![]() |
見ろ、動画が静止画のようだ
いち早くHTML5 (として正式採用であろう) の機能を取り入れたことも、Safari 3.1の特徴の1つ。その概要は第262回で説明済だが、その際紹介しなかった機能をいくつか紹介してみよう。
その1つが、動画・オーディオエレメントのサポート。まずはSafari 3.1を使い、こちらのWebサイトにアクセスしてほしい。ページ中ほどに、iPod touchのプロモーションビデオが現れるはず。先ほどベンチマークを比較したWebブラウザは、このページで使用しているHTML5のエレメント (video、audio) には対応していないため、表示されるのは「This is fallback content」というつれないメッセージのみだ。
このビデオ、ビデオの中央にマウスオーバーすれば再生と停止の操作ができるのだが、注目してほしいのは右下のボタン。[+]のときクリックすればフルカラムまで拡大、[-]のときクリックすれば縮小できるのだ。しかも、ページ内の他の要素も、その拡大 / 縮小にあわせてレイアウトが変わる。まるで静止画のように動画を扱えるというわけだ。
インパクト大! なCSSアニメーション
見た目のインパクトは、動画エレメントより「CSSアニメーション」のほうが上かもしれない。論より証拠、まずはSafari 3.1でこちらのWebサイトにアクセスしてほしい。画面下の「2. Animating your Transforms」にあるbox1やbox2へマウスオーバーすると……それらのアイテムが動くのだ。
このページでは、「-webkit-transform」プロパティを使用したCSSアニメーションの使い方が、かんたんに紹介されている。こちらのページには、Appleが提出したプロポーザルの全文が掲載されているので、あわせて参考にしてほしい。この機能が普及しすぎて、あらゆるWebサイトが"飛び出す絵本化"することは願い下げだが、洗練された使用法が確立されればWebページの見せ方も大きく変わることだろう。
関連記事
- 【コラム】OS X ハッキング! 第262回 WebKitから想像する次のSafari - HTML5を先取り[2008/2/11]
- 新しいJavaScriptベンチ「SunSpider」が登場[2007/12/20]
- Firefox 3.0のβ第4版が公開 - Webアプリが高速に[2008/3/11]
- 【特集】ゼロからはじめるSafari 3 - WebKitベースの最新ブラウザを使いこなす[2008/1/1]
関連サイト
この記事を読んだ人は以下の記事も読んでいます
ヘッドライン
- 米国で「iPad」予約受付スタート! Appleが新情報を一挙公開[13:03 3/13]アップル
- iPadのオンライン販売台数は2時間で5万台以上? - 米国で事前注文が12日開始[07:21 3/13]アップル
- Apple、iPadに画面ローテーションを止めるハードウェアスイッチ採用[05:49 3/13]アップル
- 【レポート】Apple Store、「Appetizer.jp presents:iPhone就活術」開催 - 就活こそiPhone活用を[23:50 3/12]アップル
- Apple、iPhone OS 4.0でマルチタスク導入を準備か - 米報道[22:44 3/12]アップル
- 日本HP、15.6型ノート「dv6i」の1,000台限定59,430円販売キャンペーン[21:43 3/12]日本HP
- iPad先行予約開始は日本時間3月12日午後10時30分 - Apple Online Storeにて[19:34 3/12]アップル
- コニカミノルタ、HDD用ガラス基板の生産能力を増強 - 需要拡大に対応[19:05 3/12]自作
- ドスパラ、独ROCCAT社製ゲーミングマウス「KOVA」の販売を開始[18:49 3/12]ドスパラ
- 【レポート】マイクロソフト、アクティブな高齢者の社会参画を促す新たなプロジェクト[18:40 3/12]Windows 7










