小測試,看看C語言比Python到底快多少

我們都知道Python的底層代碼是c,那么在封裝之后,都說Python速度慢,那么我們今天簡單的測試一下,在計算100000000的累加結果速度對比。

為了更好的速度對比,我先將C語言代碼生成動態鏈接庫libnumadd.so在Python中進行調用

c語言代碼

vim numadd.c

#include <stdio.h>

int num_test(){
int sum = 0;
for (int i=0; i<100000000; i++){
    sum += i;
}
return sum;
}
# 生成.so動態鏈接文件
clang --shared -o libnumadd.so numadd.c

python代碼

定義一個python_sum的方法,用來在Python中計算求和,在main中調用libnumadd.so中的num_test的方法,并打印出兩次的結果做比較。

import time
from ctypes import CDLL

def python_sum():
    sum = 0
    for i in range(100000000):
        sum += i
    print(sum)

if __name__ == "__main__":
    start_time = time.time()
    python_sum()
    end_time = time.time()
    print(end_time-start_time)
    start_time = time.time()
    lib = CDLL("./libnumadd.so")
    lib.num_test()
    end_time = time.time()
    print(end_time-start_time)
# 執行結果
4999999950000000
5.95462203026
0.235713005066
# 足足快了25倍的速度
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容