使用python调用c语言实现100000000次加法运算速度对比
Posted FANDX
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python调用c语言实现100000000次加法运算速度对比相关的知识,希望对你有一定的参考价值。
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次加法运算速度对比的主要内容,如果未能解决你的问题,请参考以下文章