fortran66のブログ

fortran について書きます。

ナウな言語とのベンチマーク

天文系の計算で Fortran と最近のナウい言語とのベンチマークがなされています。Fortran も 2008 水準のモダンなものを用いているようです。

  • Compiled languages:
  1. Fortran: GNU Fortran 6.3.1
  2. C++: g++ 6.3.1
  3. Java: JDK 1.8.0-74
  • Interpreted languages:
  1. Matlab: Release 2016b
  2. Python: 3.5 with Numba 0.28.1
  3. Julia: 0.5.1

link.springer.com

結果図をみると、Fortranソースコード長は長目ながら、実行スピードは速めとなっています。実行時間のグラフの方は対数プロットなので注意が必要です。
f:id:fortran66:20170930031916g:plain

ソースコードgithub で公開されています。
github.com

make ファイルを見る限り、ベクトル化・並列化などはさせていないようです。intel fortran を適切なオプションで利用すればもっと速くなると思われます。

ソースコードをチラッと見た感じでは、モダンな Fortran の書き方をしていましたが、関数引数を使えばよさそうなところで使ってなかったり、疑問点が残りました。他言語と同じように書けばソースコード長は、もう少し短くなるかもしれません。

あんまり詳しく見てませんが・・・w

Guide to Fortran 2008 Programming

Guide to Fortran 2008 Programming

Introduction to Programming with Fortran: With Coverage of Fortran 90, 95, 2003, 2008 and 77

Introduction to Programming with Fortran: With Coverage of Fortran 90, 95, 2003, 2008 and 77

Modern Fortran Explained (Numerical Mathematics and Scientific Computation)

Modern Fortran Explained (Numerical Mathematics and Scientific Computation)