Julia:比 Fortran 快,比 Numpy 乾淨 - matecdev

banq發表於2021-06-21

Julia是一種非常新的語言,除其他外,它旨在解決科學計算中所謂的“雙語言問題”。
也就是說,我們通常使用快速原型語言(如 Matlab 或 Python)來測試想法,但是當測試完成並且是進行一些嚴肅計算的時候,我們需要依賴不同的(編譯的)程式語言。
有許多工具可以簡化轉換,到目前為止,將 Fortran 庫包裝到 Python 中一直是我的首選。例如,用 F2PY 封裝一些 Fortran 似乎是一種使用(和分發)任何人都可以執行的高效 Fortran 程式碼的非常方便的方法。我還在這篇文章中跟蹤了在 Python 中使用 Fortran 的各種方法。
現在,Julia 旨在以一種激進的方式解決這個問題。這個想法是使用單一的程式語言,它既具有互動模式,適用於快速原型設計,也可以在 C/Fortran 效能下編譯和執行。
 

Julia vs Fortran vs Numpy:速度和程式碼清晰度總結
以下是我執行此基準測試後的結論。

  • Numpy 在許多情況下僅限於單執行緒,難以編碼和閱讀,並且可能比這兩種替代方案慢得多。
  • Fortran 使用非常簡單的程式碼提供了出色的效能,但需要進行一些包裝才能從 Python 等高階語言呼叫 Fortran。
  • Julia 比 Numpy 更快、更容易編寫,甚至能夠擊敗 gfortran 的效能。

老實說,我對我在效能比較中的發現感到震驚。Julia是驚人的。我沒想到 Julia 會在我的測試中透過編譯器最佳化擊敗 gfortran。並且它目前在很大程度上做到了這一點。
點選標題

相關文章