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的方式.