julia和python对比_Julia(Julia-lang)性能与Fortran和Python相比

博主对比了Julia、Python和Fortran在执行相同计算任务时的性能,发现在未优化的情况下,Julia比Fortran慢约44倍,但通过优化代码,如封装函数、声明类型,能显著提升Julia的运行速度。更新后的结果显示,Julia的执行时间大幅减少,但仍较Fortran慢。文章探讨了可能的优化方法和影响性能的因素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我修改了一个简单的程序来计算和绘制Julia的运动涡度来测试语言,我也用Python编写它没有特别的原因。

(免责声明:1.我阅读的每个性能比较stackoverflow被淹没不全面/正确/写好/相关等等 – 我不是假装这是一个真正的比较,我只想知道如何做Julia更快2.我知道python可以被优化,在Cython中实现,这不是这个讨论的一部分,它只是在这里参考Julia和Python中的等效功能。)

代码和性能结果可以看出in a gist。

Julia的表现要比Fortran慢得多。执行计算所用的时间是(50000个时间步长):

Fortran: 0.051s

Julia: 2.256s

Python: 30.846s

朱利娅比Fortran慢得多(约44倍),差距缩小,但仍然有10倍的时间步长(0.50s vs 15.24s)。

这些结果与the julia home page上显示的结果大不相同。我做错了什么?我可以修复朱莉娅明显更快吗?

我已经阅读了Julia Performance Tips页面和比较茱莉亚主页后面的代码,没有什么是我来解决的。

还有趣的是,Julia加载PyPlot非常慢(5秒Ish !!),比Python慢​​得多的文本文件。我可以做任何改进这些事情吗?

请注意,上面的时间并没有显示Julia和Python的加载时间,只是计算AFAIK所需的时间 – 参见代码。对于fortran,这是整个事情。在每种情况下,绘图已经关闭,大致可以进行速度比较。

计算机:Intel i7-3770,16GB RAM,SSD HD,操作系统:Ubuntu 13.10 64位,Fortran:gfortran,GNU Fortran(Ubuntu / Linaro 4.8.1-10ubuntu9)4.8.1,Julia:Version 0.3.0-prerelease 396( 2013-12-12 00:18 UTC),提交c5364db *(0天大师),x86_64-linux-gnu,Python:2.7.5

更新:

基于ivarne的建议,我重写了Julia脚本(以上更新):将grunt工作封装在函数中,声明一切的类型,并将矩阵的不同元素分割成不同的数组(如适用)。 (我在很多地方添加了Float64,因为我尝试了Float32看看是否有帮助,大部分时间没有)。

结果如下:

50,000个时间步长:

Fortran: 0.051s (entire programme)

Julia: raw calc.: 0.201s, calc. and return (?): 0.758s, total exec.: 6.947s

50万次步骤:

Fortran: 0.495s (entire programme)

Julia: raw calc.: 1.547s, calc. and return (?): 2.094s, total exec.: 8.521s

结论是:

你可以加快朱莉娅的速度。

>您可以显着影响Julia的速度,具体取决于您如何衡量其性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值