雨谷の日和

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

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

では、昨日のソースコードを実際に実行してみよう。
まずは最適化無の場合である。

result: 489261678

Flat profile of 65.98 secs (4222 total ticks): main

  Interpreted + native   Method                        
 40.6%  1713  +     0    Test.expand02
 32.1%  1354  +     0    Test.expand03
 17.2%   725  +     0    Test.expand04
  5.7%   239  +     0    Test.expand05
  2.1%    89  +     0    Test.expand01
  1.6%    66  +     0    Test.expand06
  0.4%    17  +     0    Test.expand07
  0.0%     1  +     0    java.util.jar.Attributes.read
  0.0%     1  +     0    Test.expand08
 99.6%  4205  +     0    Total interpreted

  Thread-local ticks:
  0.0%     1             Class loader
  0.4%    16             Interpreter


Global summary of 65.98 seconds:
100.0%  4222             Received ticks
  0.0%     1             Class loader
  0.4%    16             Interpreter

結果は約66秒となった。
以前(2004.04.21)に行った最適化有りの時の結果は約81秒、それに比べると約15秒の改善となっている。
2004.05.16の結果は約76秒だったから、それと比べても約10秒速い。
ただ、動的メモリ確保の時も再帰無しにすると約14秒の改善だったから、動的メモリ確保でも事前メモリ確保でも、再帰を展開すると約14〜15秒改善したと言えるかも知れない。


次は最適化有りの場合を見てみる。