首页 > java教程 > 正文

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

原创 2018-09-15 16:47:08 0 4
本篇文章给大家带来的内容是关于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<=100000000; i++)
                x+=i;
            long t2=System.currentTimeMillis();
            System.out.println("x="+x+", duration="+(t2-t1));
        }
}

三次执行结果:大约40ms

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中文网其它相关文章!

  • 相关标签:性能 java julia
  • 本文原创发布php中文网 ,转载请注明出处,感谢您的尊重!
  • 相关文章


  • MongoDB(六)java操作mongodb增删改查
  • PHPRPC for Java Spring的事例
  • Material Design的九大设计原则
  • java与php通过socket通信的实例教程
  • 网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
    独孤九贱(4)_PHP视频教程

    独孤九贱(4)_PHP视频教程

    江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。 PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...

    独孤九贱(5)_ThinkPHP5视频教程

    独孤九贱(5)_ThinkPHP5视频教程

    ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...

    独孤九贱(1)_HTML5视频教程

    独孤九贱(1)_HTML5视频教程

    《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。 ...

    ThinkPHP5实战之[教学管理系统]

    ThinkPHP5实战之[教学管理系统]

    本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。

    PHP入门视频教程之一周学会PHP

    PHP入门视频教程之一周学会PHP

    所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...

    相关视频教程

  • javascript初级视频教程 javascript初级视频教程
  • jquery 基础视频教程 jquery 基础视频教程
  • javascript三级联动视频教程 javascript三级联动视频教程
  • 独孤九贱(3)_JavaScript视频教程 独孤九贱(3)_JavaScript视频教程
  • 独孤九贱(6)_jQuery视频教程 独孤九贱(6)_jQuery视频教程
  • 相关视频章节