码迷,mamicode.com
首页 > 编程语言 > 详细

使用python调用c语言实现100000000次加法运算速度对比

时间:2020-01-06 10:03:41      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:使用   对比   for   shell   生成   lang   main   end   执行   

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代码

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可以最大效率的实现优化代码

使用python调用c语言实现100000000次加法运算速度对比

标签:使用   对比   for   shell   生成   lang   main   end   执行   

原文地址:https://www.cnblogs.com/fandx/p/12154629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!