新來的同事問我,為什麼都在說Go比Java快?

作者:jdon
鏈接:https://www.jdon.com/52263

# 前言

本次小測試並不是試圖說明Go是Java的替代,Go lang和Java本就不是實現相同類型任務的語言 :Java是企業開發語言,而Go是系統編程語言。
我的系統配置是16 GB RAM,Intel(R)Core(TM)i7-8550U CPU 2.00GHz和500 GB SSD。
我只是使用Go和Java語言編寫了一個階乘程序,併為各種輸入創建了一個分析表和時間表。
Go代碼:


新來的同事問我,為什麼都在說Go比Java快?

輸出:

Output:
Factorial Time To calculate factorial
10000 0.03 seconds
50000 0.41 seconds
100000 2.252 seconds
500000 68.961 seconds
1000000 224.135 seconds

Java代碼:

新來的同事問我,為什麼都在說Go比Java快?

輸出結果:

Output:
Factorial Time To calculate factorial
10000 0.112 seconds
50000 1.185 seconds
100000 2.252 seconds
500000 89.500 seconds
1000000 385.868 seconds

從上面的程序中,我們可以看到Go對於各種輸入數據處理所用的時間比Java要短。
# 為什麼Go比Java更快?
Go被編譯為機器代碼並直接執行,這使得它比Java快得多。之所以如此,是因為Java使用VM來運行其代碼,這使得它與Golang相比變慢。
Golang在內存管理方面也很出色,這在編程語言中至關重要。Golang沒有引用但有指針。
在局部變量的情況下,與Java相比,Golang更好。局部變量在Java語言和其他語言中是存儲在堆棧中。但是在Golang中有一個例外,它可以從函數返回指向局部變量的指針。


分享到:


相關文章: