4.5倍増し?

昨日のエントリでも紹介したが、次バージョンのAndroidであるAndroid 2.2"Froyo"は、Dalvik上で動作するJavaコードのJIT(Just in time)コンパイラを有効にしたことで、現在の7MFlops程度から37MFlopsへ劇的に性能が向上するとされている。

How fast is Android 2.2? Froyo reportedly boosts speed by 450 percent - Android Central
このリンクで紹介されているスクリーンショットAndroid用に書かれたLinpack※によるものだが、確かに37.xxxを出しているのが解る。(作者のサイトの同ベンチマークのランキングには、Modによりオーパクロックされたと思われるNexus oneの40MFlopsというスコアも掲載されている)

Linpackはシステムの浮動小数点演算性能を評価するベンチマークであり、元々ソフトウェア処理しかできず、非常に遅いとされているAndroid浮動小数点計算の性能が劇的に改善されるのだろう。

AndroidにおけるJavaはSun Java等に比べてC(JNI)で書かれている部分が非常に多い。これがAndroidJavaアプリケーションが中間コードをインタプリタで直接実行している割には性能が良い理由である。

ネィティブコードが多いということはJITによる効果が出にくいと考えられるのだが、実際にFroyoをテストした人間に言わせると、はっきりと体感できる性能向上があるというが、その反面、Javaがそうだったように、JITは原理上最初のコード実行時ピークでのCPUやメモリ消費が多くなるので、副作用が懸念される。

いずれにせよ、あと数日で詳細が明らかになる訳で楽しみだなぁ。

Linpack for Android « GreeneComputing