AO bench is evolving

by syoyo

AO bench is a small Ambient Occlusion renderer program which is suited for benchmarking processor/language’s floating point computing power.

AO bench was first appeared as a Proce55ing program to measure the performance of Proce55ing(more specifically, JVM).

Then it had been ported to C NativeClient JavaScript Flash10 iPhone

Recently, there’s two evolution.

AO bench on Android


takuma kindly ported AO bench to Android(DalvikVM), and found AO bench on DalvikVM is too slow because DalvikVM does not have JIT and the CPU running has no FP unit.

Even though AO bench is too slow on Android, takuma showed AO bench is runnable for mobile phone processor!

AO bench on GPU, and it’s 4K!


Another interesting evolution of AO bench is GPUAO by kioku, A GLSL version of AO bench.
Since GPU has massive FPUs nowdays, GPUAO finishes 0 msec in his PC! (too fast to measure execution time).

More interestingly, kioku made his own 4K(4096 byte of the program) engine and AO bench was ported to that engine, not a naive GLSL program.
GPUAO occupies just 1.7K of 4K space!


AO bench が発展しています.

takuma さんによる、下は FPU なしの携帯プロセッサ(しかしでも動くだけでもすごい)から、
kioku さんによる、上は FPU モンスターの GPU にまでポーティングされています.

GPUAO, 速度が 0 msec ってすげー(早すぎて測定できない)

これで世の中に AO が知れ渡り、レンダラ書きが増えることを願います 🙂