2 majinjing3 majinjing3 于 2014.12.19 11:55 提问

如何进行Python优化使得Python模块能够得到2倍性能提升 1C
    目前要对一个含有Python模块和C++模块的项目(Python模块调用C++模块)进行优化。考虑优化Python编译器,求问应用什么技术可以使得python编译器能够获得2倍性能提升并且不存在C扩展性弱的问题?(目前pypy虽然有5倍性能提升但是C扩展弱不支持我这个项目) 目前我考虑 去修改pypy的C扩展性,牺牲pypy一部分的性能提升空间,来换取它对C扩展模块的支持,或者使用JIT技术 加入到CPython编译器 来获得2倍性能提升,但是不知道这两种方法的可行性如何。如果对pypy实现机理了解的高手希望能够指点我的困惑   

3个回答

caozhy
caozhy   Ds   Rxr 2014.12.19 12:00

首先不应该泛泛谈论这个问题,你应该用性能度量工具找代码的热区,也就是代码中最频繁被执行并且耗时最多的部分。这些热区一般只有程序的10%左右。

如果你优化这些代码,性能会有很大提高,相反,优化别的代码,即便剩下的90%的代码写得再优化,对性能提高也没什么帮助。

另外,已经优化的代码要想再优化,只有从算法或者更高层次考虑了

majinjing3
majinjing3 那边公司的意思是让我们给他实现一个2倍性能的优化编译器,不是说把他们的源码拿来直接改,但是可以根据他们源码的特点来进行优化
3 年多之前 回复
majinjing3
majinjing3 3
3 年多之前 回复
majinjing3
majinjing3 但是这只是在到他们公司几天出差进行,源代码不能以任何形式带出他们公司的
3 年多之前 回复
majinjing3
majinjing3 回复caozhy: 可以看他们的源代码,并进行性能测试
3 年多之前 回复
majinjing3
majinjing3 考虑过用Cython来改写瓶颈模块,但是由于是和别的公司合作,我们并不能修改它的Python源码,这就对使用Ctypes,Cython等手段进行瓶颈函数优化产生很大障碍
3 年多之前 回复
caozhy
caozhy   Ds   Rxr 2014.12.19 14:41

源代码都没有么?那还怎么优化?

caozhy
caozhy   Ds   Rxr 2017.12.19 23:58

如果问题得到解决,请点下回答右边的采纳,谢谢 ··

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!