今回も第286回に続き、OS X iPhone 2.0 (iPod touch) のベンチマークテストについて。字数がオーバー気味なので、前置きなしに本編へ突入だ。
ベンチマークテストの補足
iPod touch用のGCCパッケージのインストールがようやく成功したので、古典ベンチマーク「Dhrystone 2.1」を使い整数演算性能を検証してみた。なお、利用したコンパイラ「iPhone/GCC」とヘッダ集「Toolchain 2.0.3」はCydia経由で入手したもので、GCCのバージョンはv4.2.1 (iBook G4とMacBook Proはv4.0.1) 、ループ回数はデフォルトの5万回では差がわかりにくいので1,000万回に変更 (dhrystone.cの387行目を「50000」から「10,000,000」に修正) している。
その結果だが、表1のとおり。Dhrystoneはマルチスレッド化されていないうえ、CPUの拡張命令もほとんど使用されていないため、各CPUが持つ真の性能を発揮しきれてはいないが、同じ「素」の状態で試すかぎり、iPod touchのスコアがMacBook ProはもちろんiBook G4のそれに大きく劣後することは確か。単純計算すると、iPod touchの整数演算能力はiBook G4 800MHzの約31.8%、MacBook Pro 2.33GHzの約4.4% (いずれもregiter有効時) ということになる。
iPhone / iPod touchに搭載されているCPUに関し、Appleからの公式な発表はいまだ行われていないが、分解を試みた情報筋によれば、ARM11コアを搭載したSamusung製とのこと。これがメーカーの公表スペックどおりだとすると、クロック数は620MHz (?) で、さらにメディア再生用のSIMD命令セット、3Dグラフィック用の浮動小数点演算ユニット、組み込みJava実行環境 (Jazelle) を備えることになる。前回および今回のベンチマークテストは、いずれもこれらの特徴を考慮していない -- アプリケーションには最適化の余地がある -- ことを申し添えておく。
表1: Dhrystone 2.1の結果 (ループ回数を1,000万回に修正)
register無効 | register有効 | |
---|---|---|
iPod touch (v2.0) | 249792 | 250626 |
iBook G4 800MHz | 702411 | 788022 |
MacBook Pro 2.33GHz | 5076142 | 5747126 |
SunSpider 0.9もテスト
JavaScriptのベンチマーク「Sun Spider 0.9」も、テストしてみた。ネイティブアプリが開発可能になったとはいえ、iPhone登場時点ではAjaxベースのアプリケーションが前提だったこともあり、依然としてJavaScriptに対する需要が根強いはずだからだ。
結果は、表2に示すとおり。正規表現 (RegExp) テストは比較的差が小さいものの、他の全項目ではMacBook Pro 2.33GHzおよびiBook G4 800MHzに大きく水を空けられている。バイナリは共通ではないものの、同じWebKit 3.1ベースであることを考慮すると、やはりプラットフォームとしての性能差は歴然といえる。
一方、WebKitの開発動向に目を移すと、現行のWebKit 3.1に比べ約1.6倍の高速化を実現したという新JavaScriptエンジン「SquirrelFish」の話もある。他との比較はともかく、iPhone / iPod touchでGoogle Docsがそれほどストレスなく使えている現状からすると、Webアプリのパフォーマンスは楽観的に考えていいのかもしれない。
表2: Sun Spider 0.9 の結果
iPod touch (v2.0) | iBook G4 800MHz | MacBook Pro 2.33GHz | |
---|---|---|---|
3d | 18353.6 | 2987.4 | 406.6 |
access | 18213.2 | 3641.6 | 528.2 |
bitops | 15570.8 | 3212 | 458.6 |
controlflow | 3944 | 631 | 90 |
crypto | 10652 | 1697 | 239 |
date | 15498.6 | 2404 | 285.4 |
math | 23541 | 3119.8 | 450.2 |
regexp | 3321.6 | 1270.8 | 214 |
string | 34171.4 | 4755 | 659.4 |
TOTAL | 143266.2 | 23718.6 | 3331.4 |
再びFlash / Javaの可能性について考える
第286回は、浮動小数点演算の結果のみを示してFlash / Javaの可能性について言及するという、いささか乱暴な話の展開になってしまったが、今回のDhrystoneとSunSpiderの結果を見ると、やはりiPhone / iPod touchにとっては"厳しい"タスクである (モバイル向けに軽量化されたバージョンは考慮しない)、という結論にたどりついてしまう。前回が言葉足らずだったこともあり、少々補足させていただこう。
Flashの可能性についてだが、スペック的に近い「WILLCOM WS011SH」を例に考えてみたい。Marvell PXA270 / 520MHzを搭載するこのデバイスでは、Flash Playerが動作するが、バージョンはFlash 7 (Opera使用時)。世のWebサービスはFlash 9を要求する傾向にあり、WS011SHユーザにもFlash 9を望む声が多いと聞く。ちなみに、ニコニコ動画の視聴に必要なFlashのバージョンは「9」以降。
シンプルさと全体のバランスを重視するAppleのこと、動いたとしてもシステムリソースに余裕なさげなFlash 9に積極方針とはどうにも考えにくい。代替としてFlash 7を選ぶとはなおさら考えにくく、携帯電話やデジタル家電など小型機器を主対象としたFlash Liteを選ぶ可能性はさらに低いはず。
JavaもFlashと同様、「素」の状態では余裕綽々とはいかない状況が考えられるが、前述したとおりCPU側に内蔵されている (と考えられる) アクセラレータ「Jazelle」が活用される可能性がある。とはいえ、現在のMac OS XにおけるJavaのポジションを考えると、iPhone / iPod touchで積極的にサポートされるという説得材料に欠ける。
もっとも、これはOS X iPhoneに (Safariのプラグインとして) 標準装備される機能の話で、App Store経由でどのようなものが登場するかは予測できない。JavaもFlash Playerも、オープンソース版があることだし……Webブラウザから独立した、スタンドアロンのプレイヤーとしてなら可能性はあるかも、と考えているのだが。