雨谷の日和

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

行列式計算改良(先頭アドレスのみコピー)インデックス版まとめ2

ということで、Borland Cの結果もあわせて表にまとめた。

Pentium4:2.4GHz
WindowsXP(MS932)
cygwin
gcc3.3.1
Borland C++5.5
JDK1.4
Java
gccBorland Cインタ
プリタ
Hot
Spot
AOT
最適化
最適化
最適化
最適化
最適化
最適化
配列
最適化
mallocallocamallocallocamallocallocamallocalloca
行列式
計算
再帰
有り
動的メモリ確保 468434 6554 909555249
事前メモリ確保 5533 444err 8181065
再帰
無し
動的メモリ確保 443423 4353 767525249
事前メモリ確保 3422 332err 666754
ループ動的メモリ確保 46-44- 8-8- 15412645252
事前メモリ確保 7744 556err 159111986
イン
デックス
動的メモリ確保 424412 4err42 515484846
事前メモリ確保 3312 2err23 435543
※単位はいずれも[sec]


Borland Cだと、allocaの場合、最適化無しだと何故かエラーになるようだ。理由は分からない。
以前の結果でも、最適化した場合にエラーとなっていたりするので、Borland Cではallocaを使わない方が無難なのかも知れない。もしかすると動的メモリ確保がgccよりも速いのは、そこら辺にも理由があるのかも知れないが、はっきりしたことは私には分からない。


ともかく、インデックス版は処理速度の向上に対して確かに効果的であったと結論することは問題無いだろう。
今回で、インデックス版の効果の検証は終わりとしたい。