~vodafone fan! ぶろぐ!~に携帯電話上の Java アプリの実行速度を測るベンチマークテストの話が載っていました。使われたベンチマークは Xengine4j というそうです。
私は、ベンチマークテストをどう作っていいか分かりません。でも、どんなベンチマークテストなら実用的なのか分かっている人は少ないと思うのです。
まず省電力モードの存在があります。整数演算が速くてベンチマークテストがすぐに終わるならいいのですが、少し遅くなるとキー入力が無い場合は省電力モードに入ります。するとますます遅くなるので差が開く一方です。ベンチマークテストを走らせる途中でキーを押してみてください。もしかしたら速くなるかもしれません。ちなみに、これは携帯電話のアプリケーションプロセッサが速くなっても思考ルーチンの強い将棋・以後ソフトを作れない理由です。キー入力が無いのにアプリケーションプロセッサを全力で回すとバッテリー消費に際限がなくなっちゃうんですね。
つぎに、実は整数演算を酷使する実用アプリは多いのかという話もあります。ベンチマークテストが普通のアプリより重いなら、普通のアプリは整数演算をあまりしていないのでしょう。すると速度の上限を決めるのは整数演算ではなく描画速度だったりするんです。そうしたら、整数演算を大量に行い描画を少量行う -そして遅いことを印象づける- アプリは実用とかけ離れているおそれも大です。
という訳で、数値が単一でしかでないベンチマークテストをあまり信用しません。Xengine4j は最小値も出るので省電力モードは考慮できるかもしれません。でも一番は、動かしたいアプリ自体でベンチマークテストを行うか測定項目専用のベンチマークソフトを作ることでしょう。
私は、ベンチマークテストをどう作っていいか分かりません。でも、どんなベンチマークテストなら実用的なのか分かっている人は少ないと思うのです。
まず省電力モードの存在があります。整数演算が速くてベンチマークテストがすぐに終わるならいいのですが、少し遅くなるとキー入力が無い場合は省電力モードに入ります。するとますます遅くなるので差が開く一方です。ベンチマークテストを走らせる途中でキーを押してみてください。もしかしたら速くなるかもしれません。ちなみに、これは携帯電話のアプリケーションプロセッサが速くなっても思考ルーチンの強い将棋・以後ソフトを作れない理由です。キー入力が無いのにアプリケーションプロセッサを全力で回すとバッテリー消費に際限がなくなっちゃうんですね。
つぎに、実は整数演算を酷使する実用アプリは多いのかという話もあります。ベンチマークテストが普通のアプリより重いなら、普通のアプリは整数演算をあまりしていないのでしょう。すると速度の上限を決めるのは整数演算ではなく描画速度だったりするんです。そうしたら、整数演算を大量に行い描画を少量行う -そして遅いことを印象づける- アプリは実用とかけ離れているおそれも大です。
という訳で、数値が単一でしかでないベンチマークテストをあまり信用しません。Xengine4j は最小値も出るので省電力モードは考慮できるかもしれません。でも一番は、動かしたいアプリ自体でベンチマークテストを行うか測定項目専用のベンチマークソフトを作ることでしょう。