對比JAVA、Python、C、Go運行時間,我驚呆了!!!

  • 2020 年 11 月 8 日
  • 筆記

對比JAVA、Python、C、Go運行時間,我驚呆了!!!

周末在寢室刷完演算法,想放鬆一下,於是做了一個實驗:用現在主流的幾種程式語言對0 – (10000000 – 1)求和,結果我驚呆了,話不多說,show me your code!!!

python

import time

sum = 0

start = time.time()
for i in range(10000000):
    sum += i
end = time.time()

print(end - start)

java

public static void main(String[] args) {


        long startTime=System.currentTimeMillis();   //獲取開始時間
        int sum = 0;
        for(int i=0;i<10000000;i++){
                 sum +=i;
             }
        long endTime=System.currentTimeMillis(); //獲取結束時間
        System.out.println(endTime - startTime);

    }

Go

package main

import "fmt"
import "time"

func main(){
	sum := 0
	var start = time.Now()
	for i := 0; i< 10000000; i++ {
		sum += i
	}
	fmt.Println(sum)
    var end = time.Since(start)
    fmt.Println(end)
}

C

#include <stdio.h>
#include <time.h>

int main() {
    clock_t start, end;
    double duration, sum;
    start = clock();
    for (int i = 0; i < 10000000; i++){
        sum += i;
    }
    end = clock();
    duration = (double)(end - start) / CLOCKS_PER_SEC;
    printf("%f s", duration);
    return 0;
}

我的電腦是magicbook,8G記憶體,運行的各自結果如下:

  • go 7.9944ms
  • c 0.036s
  • python 1.96s
  • java 16ms

關於python的結果早就料想到了,但另外3中語言居然超出了預料!!!