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了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM