小测试,看看C语言比Python到底快多少

2021-08-21  本文已影响0人  FANDX

我们都知道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倍的速度
上一篇 下一篇

猜你喜欢

热点阅读