作者:手机用户2602920905 | 来源:互联网 | 2023-09-08 20:22
如果要针对相同的输入重复使用此函数,仍然值得缓存返回值(如果要在单独的运行中使用它,则可以将结果存储在文件中)。
如果您找不到更快的算法,则应该可以通过将代码移至C扩展(使用cython可能最简单),或者使用PyPy来将其加快一个或两个数量级。CPython(pypy有其缺点-
它尚不支持Python 3或一些常用的库,例如numpy和scipy)。
这样做的原因是,因为Python是动态类型,解释可能是花费了大量时间检查变量类型-
为所有的解释都知道,这些操作的一个可能变成x
为一个字符串,其中相似的情况下,表现x +
y
会突然之间有非常不同的含义。Cython通过允许您将变量静态声明为整数来解决此问题,而pypy具有即时编译器,该编译器可以最大程度地减少冗余类型检查。