目录
1、介绍
2、Julia不做优化和Java比较
3、Julia优化后与Java比较
首页 Java java教程 Julia和Java的执行速度分别如何?Julia和Java的性能对比

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

Sep 15, 2018 pm 04:47 PM
java julia 性能

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

1、介绍

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

2、Julia不做优化和Java比较

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

1

2

3

4

x=0

@time for i in 1:10^8

    global x+=i

end

登录后复制

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

1

2

3

  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代码和执行结果:

1

2

3

4

5

6

7

8

9

10

 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

1

2

3

x=5000000050000000, duration=41

x=5000000050000000, duration=40

x=5000000050000000, duration=40

登录后复制

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

3、Julia优化后与Java比较

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

1

2

3

4

5

6

7

8

9

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Java 中的平方根 Java 中的平方根 Aug 30, 2024 pm 04:26 PM

Java 中的平方根

Java 中的完美数 Java 中的完美数 Aug 30, 2024 pm 04:28 PM

Java 中的完美数

Java 中的随机数生成器 Java 中的随机数生成器 Aug 30, 2024 pm 04:27 PM

Java 中的随机数生成器

Java 中的阿姆斯特朗数 Java 中的阿姆斯特朗数 Aug 30, 2024 pm 04:26 PM

Java 中的阿姆斯特朗数

Java中的Weka Java中的Weka Aug 30, 2024 pm 04:28 PM

Java中的Weka

Java Spring 面试题 Java Spring 面试题 Aug 30, 2024 pm 04:29 PM

Java Spring 面试题

Java 中的史密斯数 Java 中的史密斯数 Aug 30, 2024 pm 04:28 PM

Java 中的史密斯数

突破或从Java 8流返回? 突破或从Java 8流返回? Feb 07, 2025 pm 12:09 PM

突破或从Java 8流返回?

See all articles