登录  /  注册
首页 > Java > java教程 > 正文

Julia和Java的执行速度分别如何?Julia和Java的性能对比

不言
发布: 2018-09-15 16:47:08
原创
4595人浏览过

本篇文章给大家带来的内容是关于julia和java的执行速度分别如何?julia和java的性能对比,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、介绍

Julia性能号称可以赶得上c/c++,我很好奇Julia的执行速度,因为我一直用的是Java,所以就想把Julia和Java做一下简单的比较。
这次比较一下Julia和Java做一亿次加法运算的速度。

2、Julia不做优化和Java比较

首先我写的Julia代码没做优化,我们看一下Julia的代码执行:

x=0
@time for i in 1:10^8
    global x+=i
end
登录后复制

这是三次执行的结果:大约6s的时间

  6.550459 seconds (200.00 M allocations: 2.980 GiB, 18.45% gc time)
  6.565272 seconds (200.00 M allocations: 2.980 GiB, 18.15% gc time)
  6.382583 seconds (200.00 M allocations: 2.980 GiB, 18.37% gc time)
登录后复制

再看Java代码和执行结果:

 public class Test1 {
    public static void main(String[] args) {
            long t1=System.currentTimeMillis();
            long x=0;
            for(int i = 1; i<p>三次执行结果:大约40ms</p><pre class="brush:php;toolbar:false">x=5000000050000000, duration=41
x=5000000050000000, duration=40
x=5000000050000000, duration=40
登录后复制

从上面的执行结果看,Java明显比Julia快很多,相差一百多倍的时间,但是这是Julia没有优化的代码,下面我们看一下Julia优化后的情况

3、Julia优化后与Java比较

我们去掉全局变量,把代码放到函数里面,然后调用函数,代码如下,:

function sumfor()
    x=0
    for i in 1:10^8
        x+=i
    end
    x
end
@time sumfor()
@time sumfor()
登录后复制

下面是三次执行的结果,由于Julia第一次执行会做预编译的操作,我们调用两次方法并以第二次结果为准,
第二次执行只用了0.002ms的时间,比Java快了很多。

0.080203 seconds (35.91 k allocations: 1.978 MiB)
 0.000003 seconds (5 allocations: 176 bytes)
 0.062682 seconds (35.91 k allocations: 1.978 MiB, 46.11% gc time)
 0.000002 seconds (5 allocations: 176 bytes)
 0.037539 seconds (35.91 k allocations: 1.978 MiB)
 0.000002 seconds (5 allocations: 176 bytes)

总结: 从上面的比较来看,Julia确实比Java快很多,不过这里只做了简单的比较,并没有做严谨的测试,仅供参考。

以上就是Julia和Java的执行速度分别如何?Julia和Java的性能对比的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号