python调用golang生成的so函数提升性能

python适合大数据分析,golang高性能大并发。最近有个想法两者能否结合起来。查了相关资料试验做成功了。比python原先的性能提高好几倍。

一、使用golang生成python可调用的so文件

准备工作:需要安装gcc。检测你本机是否安装可使用gcc -v 指令测试。


如果没有安装gcc 到https://www.mingw-w64.org/这里下载你本机终端所适配的包,解压之后,把解压目录/bin添加到环境变量。这样gcc就算配置完成了

这里以斐波那契数列函数为例对比纯python代码和golang生成so函数给python调用的性能对比。


然后终端使用go build -buildmode=c-shared -o _fib.so main.go 指令编译

编译之后同级目录生成_flib.so文件


二、使用python调用so,并2者对比性能

打开pycharm,再go_so项目里把刚刚生成的_fib.so文件copy进去


新建load.py


以上代码上半部分是通过ctypes调用so文件。并给出执行时间,下半部分使用纯python代码调用斐波那契数列,也给出执行时间。发现调用go生成的go效率大大提升。



如此看来python和golang沟通的桥梁就是c。按照这个原理golang也可以调用python类库,通过c的方式.

展开阅读全文

页面更新:2024-05-18

标签:函数   性能   数列   大数   终端   指令   桥梁   代码   文件   目录

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top