python 小波变换_setup-cython(1):保护Python源码,提升执行性能

ca5ee79c638a746796fa9de2e2ff82b5.png

小埋酱最近几乎都在折腾AI相关的事情,而AI相关开发的首选肯定是Python。无论是第三方库的丰富程度,还是开发的速度都是其他语言难以比拟的。

随着算法库的不断完善,必定会带来一个问题,就是以后私有化部署的时候,如何保护源代码的安全性(顺带提升一下执行性能,从网上的测试报告来看,即使不做任何修改,Cython化至少都能获得30%的提升哟)。这是个非常重要的,毕竟做了很多次实验才得到的较好的算法,就这样被从源码连根拔起总会让人觉得非常不划算。假如使用的开发语言是Go,简单执行以下go build就已经能取得听不错的效果了。但是用Go写一遍小波变换。。呃。。。放过我吧。。。

1989e3590bbb88390a69a0e42dd02fb8.png

使用Cython来保护Python源代码,顺带加个速是比较不错的想法,编译成pyd/so的文件反编译出来简直是非常非常的难看=。=,好的,顺着这个想法,小埋酱就开始去github找有没现成的(能偷懒就偷懒是小埋酱的一贯原则)。然而,出乎意料的是,连续实验了好几个,居然都没有成功好用的。配置往往都挺复杂,其中有一个全自动的(忘记叫什么名字了)直接把Mac上的Python给搞坏了,我还是在virtualenv下执行的呀,这也太暴力了些吧

b20f5cc0470a58a77b0bc564a4cae603.png

好吧好吧。这回就不得不自己写个了,于是就有了这个项目

himoutoumaru/setup-cython​github.com
24741bf0a8e8b3d30dde0c0c9c176289.png

setup-cython的目标是让使用者能够以最低的成本(拷贝、粘贴)把自己的python项目Cython化。

以setup-cython项目的示例来举个例子:

5c5bf82fbfdce37140706802f57977e5.png

红框框框住的是我们的目标源码包,现在要Cython化来对他进行保护,那需要做的事情就是,执行一下setup.py

python setup.py build

执行完毕后,会多出一个build的目录,可以看到,整个项目已经自动的把Cython化的事情给干完了 (゜-゜)つロ

395334fa2b7f8a0f5b2557cd9f98fcc7.png

然后我们就可以愉快的对它进行后续的打包发布处理啦,欢迎Fork、Star哟。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值