夏コミ2日目、一般参加で行って来ました。
過去の暑かった夏と比べても未体験ゾーンの暑さでした。
館内に雲が出来るというのは過去にもありましたが、外が晴天なのに雲が出来る、というか、館内全体が霧がかっていたというのは、全く初めてでした。
そして救護所が大手サークルに………大丈夫だったのでしょうか? 大手サークルは実際のところ言いすぎかもしれませんが、短い時間で会場を離脱したにも
関わらず、その間に何人も運ばれるのを見ました。こんなの初めてです。ツイッターでも救護所がキャパオーバーになっているのが流れていましたしね。
明日はもう少し涼しければいいのですが…
さて、それはさておき、ここのところJITコンパイラの性能について書いていたので、余談のようなものでも。
これは、以前の表と同様の処理を Android 機と JavaScript で実行してみた結果です。
まず、ARM のネイティブの速度(gccでコンパイル)ですが、VFPv3を使用していると思われるARMv7のバイナリなので、速度をクロック比で見ると Core2 Quad より少し劣る程度で大きな違いはありません。
一方、Java の方は私の知っている通りの結果で、Android2.2 だとネイティブの 1/5〜1/10 程度の速度の範囲となっています。
因みにここで計測している処理は単純な処理なのでこの速度ですが、複雑な処理になると、Android2.1 以前の速度(1/50〜1/100)に近づいて行きます。
なお、Sakura2VM でも、複雑な処理だと、1/10 近くまで遅くなったりします。(通常は x86 ネイティブの 1/3 程度ですが、ここで遅い主要な理由はコンパイラの最適化性能の差です orz)
ついでに、JavaScript でも試してみましたが、いや〜、x86 用の JavaScript の JIT コンパイラは結構狂ってますよねw
この速度は、Chrome とかでも同じです。
処理のデータに変なの混ぜると極端に遅くなるのですが、不思議なくらい速いです。この速度って、Sakura2VMでいうと、詞葉コンパイラがもっと賢
ければ出せる速度、って感じなんですよね。(Sakura2VM 用のインラインアセンブラで手で書けばご存知の通りではあるのですが(汗
型が曖昧な言語でこれって魔法です。(型推論とかするにしても)
かたや Android(ARM) の方は見ての通りです。
|