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 && time ./fib
go version go1.7.5 darwin/amd64real 0m0.206sgo和java后端开发劣势
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 && 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了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论