【问题标题】:No speedup when using sympy with pypy将 sympy 与 pypy 一起使用时没有加速
【发布时间】:2017-02-15 03:08:35
【问题描述】:

对于我的代码,我需要快速求解许多 Pell 方程。仅使用 sympy 1.0 和 python 3.5,调用 diop_DN(q, 1) 以大约 60 个方程/秒的速度运行。我查看了source codediop_DN 求解器,它似乎是用纯python 编写的。所以我尝试用 pypy 5.1.2 (python 2.7.10) 和 sympy 1.0 运行我的代码,但令我惊讶的是它的运行速度大约是原来的两倍。

这是预期的行为吗? pypy不应该能够更快地运行纯python吗?

【问题讨论】:

    标签: python sympy pypy


    【解决方案1】:

    您可能没有给 PyPy 足够的时间来预热。如果我在循环中运行diop_DN(13, -4),则需要超过 50 次迭代才能收支平衡,但渐近时间比 CPython 快约 5 倍。如果像在实际代码中一样,您没有使用相同的参数进行所有调用,那么预热可能需要更长的时间。 (使用 PyPy 5.6 测量的时间;对于较旧的 PyPy 5.1,预热时间也可能会更长一些。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 2013-06-20
      • 1970-01-01
      相关资源
      最近更新 更多