golang编程语言和java的性能对比

这篇文章主要介绍了golang、java性能的对比,需要的朋友可以参考下!

1、先说Go吧,因为我个人最近正在用,感觉很不错

package main

import "fmt"

func main(){

fmt.Println(fibonacci(34))

}

func fibonacci(i int) int{

if(i<2){

return i;

}

return fibonacci(i-2) + fibonacci(i-1);

}

先用 Go1.7看看:

复制代码

代码如下:

qiangjian@localhost:/works/learnCPP$ go version && time go build fib.go && time ./fib

go version go1.7.5 darwin/amd64real 0m0.206s

user 0m0.165s

sys 0m0.059s

real 0m0.052s

user 0m0.045s

sys 0m0.004s

然后,再看看1.8的:

代码如下:

qiangjian@localhost:/works/learnCPP$ go18 version && time go18 build fib.go && time ./fib

go version go1.8 darwin/amd64real 0m0.204s

user 0m0.153s

sys 0m0.062s

real 0m0.051s

user 0m0.045s

sys 0m0.003s

感觉看不出差异,但官方1.8在GC、Compile等方面优化提升了20%,可能是这demo太简单了吧。

2、再来写Java,虽然它很火,感觉太臃肿了

class Fib{

public static void main(String[] args){

System.out.println(fibonacci(34));

}

static int fibonacci( int i){

if(i<2) return i;

return fibonacci(i-2) + fibonacci(i-1);

}

}

编译、运行的结果是:

qiangjian@localhost:/works/learnCPP$ java -version && time javac Fib.java && time java Fib

java version "1.8.0_25"

Java(TM) SE Runtime Environment (build 1.8.0_25-b17)

Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

real 0m0.952s

user 0m1.302s

sys 0m0.144s

real 0m0.150s

user 0m0.123s

sys 0m0.025s

性能还行, Compile时间和c++/go比就太low了。

原文 

https://studygolang.com/articles/19695

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » golang编程语言和java的性能对比

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址