前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java比优化的Rust程序更快

Java比优化的Rust程序更快

作者头像
IT大咖说
发布2022-03-04 13:12:04
6640
发布2022-03-04 13:12:04
举报
文章被收录于专栏:IT大咖说IT大咖说

_________

Danyal Mh

嗨,起初,我是一个Rust程序员,并为它写了一些项目和一个框架,在听说动态编译技术后,JVM对我有吸引力,我用Rust写了一个程序,为编译器设置了许多优化标志以获得最佳性能,并在java中写了实例。

在热身时间过后,我看到JVM的表现令人惊讶,它是一头野兽,在性能上可以击败Rust。

Rust结果:10,648 _ 6,678 _ 8,274 Java结果: 8,661 _ 9,608 _ 6,302

平均12次的基准。 Rust: 9,948Java:8,693

Java代码

代码语言:javascript
复制
public static void main(String[] args) {
        for (int q = 0; q < 1001; q++) {
            long tInit = System.nanoTime();

            ArrayList<CClass> arr = new ArrayList<CClass>(100);
            for (int i = 0; i < 100 ; i++) {
                arr.add(new CClass("fname", "lname", i % 30));
            }

            for (int i = 0; i < 100 ; i++) {
                CClass cls = arr.get(i);
                cls.validation();
            }

            if (q > 997) {
                System.out.println(System.nanoTime() - tInit);
            }
        }

    }

Rust Code :

代码语言:javascript
复制
fn main() {

    for _ in 0..3 {
        let now = std::time::Instant::now();
        // ===============================================
        
        let mut v = Vec::with_capacity(100);
        for i in 0..100 {
            v.push(Class::new("fname", "fname", i % 30));
        }

        for i in 0..100 {
            let cls = v.get(i).unwrap();
            cls.validation();
        }


        // ===============================================
        let now2 = std::time::Instant::now();
        println!("==> {}", now2.duration_since(now).as_nanos());
    }
}

我使用了一些Rust编译器标志,以使性能最大化。

代码语言:javascript
复制
[build]
rustflags=[“-C”, “target-cpu=native”]
[profile.dev]
lto = true
opt-level = 3

最后,我越来越喜欢JVM,java/Scala。 伟大的语言,巨大的生态系统,和惊人的性能。 阿里巴巴、Linkedin、Twitter、Amazon等公司80%的后端工作都使用JVM。

这不仅仅是为了JVM的独立或生产力 它是为了惊人的性能和惊人的稳定性

来源:

https://www.toutiao.com/a7069215736744509986/?log_from=48c622cb55e3a_1646120750257

“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com

来都来了,走啥走,留个言呗~

 IT大咖说  |  关于版权

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档