据我所知,GMPY2支持GMP库,而numpy拥有快速数值库。我想知道速度与用GMP实际编写C(或C ++)代码相比如何。由于Python是一种脚本语言,我不认为它会像编译语言一样快,但我之前对这些概括我错了。
我无法让GMP在我的电脑上工作,所以我无法进行任何测试。如果可以,只需要一般数学,如加法,也许还有一些触发功能。我稍后会弄清楚GMP。
答案 0 :(得分:7)
numpy具有快速数值库但是为了实现高性能,numpy实际上限于使用低级类型的向量或数组--16,32或64位整数,或32或64位浮点值。例如,numpy访问用C(或Fortran)编写的高度优化的例程来执行矩阵乘法。
GMPY2使用GMP,MPFR和MPC库进行多精度计算。它不是针对矢量或矩阵运算。
Python解释器为每次调用外部库增加了开销。减速是否显着取决于外部库花费的时间。如果外部库的运行时间非常短,比如10e-8秒,那么Python的开销很大。如果外部库的运行时间相对较长,几秒或更长,那么Python的开销可能是微不足道的。
既然你没有说出你要完成的任务,我无法给出更好的答案。
免责声明:我维持GMPY2。