雨谷の日和

過去12年で1,600を超えるアニメの第1話だけは見続けた僕のお勧めアニメがハズレなはずがない

Javaでの行列式計算(再帰無し、事前、最適化有)

次は最適化有の場合である。

result: 489261678

Flat profile of 6.22 secs (372 total ticks): main

  Interpreted + native   Method                        
  0.3%     1  +     0    java.lang.String.toLowerCase
  0.3%     1  +     0    Total interpreted

     Compiled + native   Method                        
 39.0%   145  +     0    Test.expand02
 28.0%   104  +     0    Test.expand03
 22.3%    83  +     0    Test.expand04
  6.7%    25  +     0    Test.expand05
  2.4%     9  +     0    Test.expand06
  0.3%     1  +     0    Test.expand07
 98.7%   367  +     0    Total compiled

  Thread-local ticks:
  1.1%     4             Compilation

約6秒という結果となった。
2004.04.22の結果は約8秒だったから、約2秒の改善ということになる。
再帰無しで動的メモリ確保の場合(2004.05.17)の約7秒と比較すると、約1秒程速くなっていることが分かる。


今回の場合も、expand01がリストから消えているのが特徴だろうか。
最適化の際、インライン展開されてしまった可能性も十分にありそうだ。