2010年12月12日日曜日

Math.powでの高速化について

Math.pow(n, 2)と書くくらいなら、n*nと書いた方が速いのは周知のとおり。では、Math.pow(n, m)の場合はどうか。mはuintとするが不定である。

累乗の計算のパフォーマンスの比較 - wonderfl build flash online


結果からすると、Math.powの方が圧倒的に遅い。しかしデバッグ実行では、ifよりswitchの方が遅く、また5乗あたりからMath.powの方がif/switchよりも速くなる。三項演算子は速いまま変わらない。

JITの特性の問題かもしれません。

0 件のコメント:

コメントを投稿