java scala 性能_关于Rust/C++/Scala在科学计算上的性能比较 (转载)

这篇博客通过比较Rust、Scala和C++实现自适应梯形定积分算法的性能,展示了不同语言在科学计算中的应用。Rust的运行时间和C++相近,显示出优秀的表现,而Scala虽然编码体验好,但运行时间较长。实验结果显示,对于科学计算任务,Rust和C++是更优的选择。
摘要由CSDN通过智能技术生成

动因:利用实际问题比较若干潜在可用于科学计算的编程语言的性能

用于比较的问题:自适应梯形定积分算法

待求积分表达式:

\int_0^\sqrt{8\pi} \sin(x^2)dx

编译方法:

C++: g++ -O3 -std=c++17

Rust: cargo build --release

scala: sbt compile

结论:

运行时间:Rust

代码行数:Scala

编码愉快度:Scala>Rust>>C++

打消了用scala写科学计算问题的念头,Rust的速度和C++几乎一样,大有潜力

运行时间详情:

循环计算100次

Rust:

time cargo run --release

...

cargo run --release 22.72s user 3.07s system 99% cpu 25.792 total

C++:

time ./a.out

...

./a.out 26.05s user 1.80s system 99% cpu 27.951 total

Scala:

time sbt run

...

[success] Total time: 168 s, completed Jan 8, 2019 11:42:52 AM

sbt run 452.16s user 1.77s system 258% cpu 2:55.73 total

代码见附件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值