今度はAOTを用いた場合の処理時間を実測しよう。
20:41:27 result: 489261678 20:42:31 result: 489261678 20:43:23 result: 489261678 20:44:15
最適化無しで約64秒、配列関連の最適化有りで約52秒、更に最適化(-O3)しても約52秒という結果となった。
性能の劣化はそれほどでもないが、向上しなかったことは確かである。
ここまで見てきて、少なくとも動的メモリ確保の場合、再帰をループに展開しても性能は向上しないようだ。むしろJavaの場合は性能が劣化する傾向にあると言っても良いだろう。
理由は良く分からない。もしかすると、私のループへの展開の方法が不味いだけなのかもしれないが。
次回以降は、事前メモリ確保の場合の実測を行いたい。