AO renderer performance. C/Proce55ing/AS3

by syoyo

render_ao_time_graph1.jpg

Proce55ing, AS3 で ambient occlusion レンダラを書いたので、
ついでだから C 版も書いて、まとめとしてパフォーマンス比較をしました.

設定は 256×256 pixels, 2 subsamples, 64 AO samples, Core2 2.16 GHz.

AS3(Flash10 Player) : 56 sec
Proce55ing : 9.7 sec
C(native) : 2.6 sec

Proce55ing 版はプログレッシブにレンダリング結果を表示していてオーバヘッドがあるので、1,2 秒ほど引いて考えるとよい.

概ね以下のようなパフォーマンス傾向になると言える.

– Proce55ing(JVM) は C に比べて 3-4 倍遅い
– AS3 は P5 に比べて 6 ~ 7 倍遅い
– AS3 は C に比べて 20 倍遅い

JVM がネイティブの 3 倍程度しか遅くないというのは注目に値する.
もはや Java = 遅いという概念を捨てるときに来ていると思う.

AS3 はやはり遅いと言わざるを得ない.
AS3 は JS と違ってユーザに型付け+静的コンパイルさせてるのでほぼ Java みたいなものなんだから、
もっと早くてもいいと思うのですけどね.

Advertisements