Julia:比 Fortran 快,比 Numpy 干净 - matecdev

21-06-21 banq

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。并且它目前在很大程度上做到了这一点。

点击标题

猜你喜欢