我需要在Python中操作适合64位的大数字。目前,我的代码在64位平台上运行,但是它必须在32位平台上运行的可能性很小但很明显。因此,我更愿意使用long
类型来表示我的数字。我了解使用long
超过int
类型会对性能产生影响。有多糟糕?我将对它们进行大量的除法和乘法运算,但结果也应该都适合64位。
答案 0 :(得分:3)
如果你要进行大量的数字运算,请看看“numpy”。
答案 1 :(得分:3)
如果你的程序进行了大量的数值计算 - 在性能很重要的地方,你应该对它进行分析,并让数字部分在本机代码中运行。你不必担心内部数字是Python“整数”还是“长” - 以至于Python 3消除了类型差异。
有几种方法,从使用numpy,cython,C扩展,使用pypy而不是标准cpython运行你的程序,甚至看看corepy - 你不应该做的是拥有一个数字密集型如果性能是一个问题,在纯python中运行的任务。他最复杂的事件 - 以单个函数的形式创建一个C扩展,只执行计算很简单,非常值得在这种情况下获得性能提升。