天天看點

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看看:

複制

代碼如下:

qi[email protected]:/works/learnCPP$ go version && time go

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的:

代碼如下:

[email protected]:/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 vo

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

}

static int fibonacci( int i){

if(i<2) return i;

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

}

}

[email protected]:/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