Submitせずに終わったMarathon 44にて、C#で実装したガウスの消去法をC++に書き直したところ、速度が3倍(2300*2300の係数行列で60秒->20秒)になった。 いくらなんでも C# 遅すぎだろうと、色々調べてみたところ、多次元配列の添え字アクセス速度がボトルネックになっているらしい。 比較と検証を兼ねて、C++,Java,C#の多次元配列についてベンチマークをとってみた。(ただしJavaは配列の配列) ソースコード testarray.cpp testarray.java testarray.cs 結果 ; testarray.cpp (gcc version 3.4.4 - cygwin) Case 1 - Time : 227 , Result : 250000000 Case 2 - Time : 267 , Result : 250000000 Case 3