Python除以10和2的速度

Bja*_*und 1 python simulation math performance division

所以 i\xe2\x80\x99m 在 Python 中进行模拟(台球),每秒需要进行大量更新。我知道除法(或乘以小数)是较慢的运算之一。我只是想知道这是否只适用于更多 \xe2\x80\x9cabstract\xe2\x80\x9d 部门(例如: \xe2\x80\x98173/82\xe2\x80\x99),或者是否也适用于 \xe2\ x80\x9ceasier\xe2\x80\x9d 除法,将浮点数减半或除以 10。

\n

对于额外信息,它用于微步(获得更准确的碰撞点),因此 I\xe2\x80\x99 将除以速度。如果除以 2 和 10 的成本很高,我\xe2\x80\x99m 会考虑预先计算较小的速度(根据球速度的变化),但请建议是否有更好的方法。\n感谢阅读: )

\n

jsb*_*eno 5

Python 是一种非常高级的语言,它将浮点数抽象为完整的对象。这种微优化在简单的 Python 代码中没有意义。

如果您需要在一些简单的操作中优化算法,您可以采取的步骤之一是将计算所在的函数提升到一个辅助框架,该框架将以本机代码运行该代码,例如cython努巴。例如,Cython 将具有与 Python 相同的语法,并且可以从普通 Python 代码中调用,但能够使用本机 CPU 浮点实现来进行操作。Numba 可能更简单,只需要正确装饰最关键的功能即可。

如果要从数组中使用结果并将结果放入数组中,您甚至不需要将值转换为 Python 浮点实例或每个数据点的语言开销。

  • 我强烈建议使用“numba”而不是“cython”,恕我直言,上手要容易得多,在模拟函数上添加“@numba.jit”可能就足够了。 (3认同)