Python最慢!C最快!Python+C混编?结果可想而知!

Python+C混编

樱桃种子

百家号04-1712:11
Python+C混编
Python+C混编

共享库

使用C语言编译产生共享库,然后python使用ctype库里的cdll来打开共享库。

举例如下,C语言代码为

Python+C混编
Python+C混编

python代码为

Python+C混编

测试如下

Python+C混编
Python+C混编
Python+C混编

Python代码为

Python+C混编

测试如下

1

2

3

$ gcc test.c -o a.out

$ ./test_subprocess.py

9801

Python+C混编
Python+C混编

C语言代码如下

Python+C混编

测试如下

1

2

3

$ gcc test.c

$ ./a.out

9801

Python+C混编
Python+C混编

为了说明如何扩展,我这里先假设一个在python下的函数功能,代码如下

Python+C混编

如上,希望的函数功能是,参数是任意多个数字组成的列表(姑且排除其他数据结构),返回每个列表的元素之和的乘积。

姑且先把python代码写了,如下所示

Python+C混编

带上之前一直测试的平方func,这个实现相对简单,希望python写出来的func可以和C语言扩展出来的结果一致。

先用C语言写上这些函数的实现,其中func3用上了一个表示任意多个任意长的数组的数据结构y_t,而x_t用来表示单个数组。

Python+C混编
Python+C混编
Python+C混编
Python+C混编
Python+C混编

 

相关文章:

  • 2021-12-21
  • 2022-12-23
  • 2021-12-02
  • 2021-10-28
  • 2022-12-23
  • 2021-06-13
  • 2021-08-23
  • 2021-10-01
猜你喜欢
  • 2021-11-02
  • 2021-07-08
  • 2022-02-10
  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
相关资源
相似解决方案