美文网首页
小测试,看看C语言比Python到底快多少

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

作者: FANDX | 来源:发表于2021-08-21 17:19 被阅读0次

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

    相关文章

      网友评论

          本文标题:小测试,看看C语言比Python到底快多少

          本文链接:https://www.haomeiwen.com/subject/bvofiltx.html