python - 如何加快 Python 的执行速度?

标签 python performance optimization

我有一个用 Python 编写的项目,它处理大量数据。 我想加快执行时间。

简单来说,假设我有这个样本完全优化的代码:

def foo(x):
   doSomething

main():
   for i in range(1,10000000):
      foo(i)

有什么办法可以加快速度吗?例如通过使用多处理或其他东西? 最重要的是,它值得吗?

感谢您的回复。我想我会尝试多处理的路线。有人可以建议我一个指南或一些帮助我的例子吗?

最佳答案

首先回答你的最后一个问题,如果你对性能有问题,那是值得的。这是唯一的标准,真的。

至于如何:

如果您的算法因为计算量大而速度慢,请考虑将其重写为 C extension , 或使用 Cython ,它可以让你用 Python 风格的语言编写快速扩展。另外,PyPy变得越来越快,可能无需修改即可运行您的代码。

如果代码在计算上并不昂贵,但它只是大量循环,则可以使用 Multiprocessing 将其分解,以便并行完成。

最后,如果这是某种基本的数据展开任务,请考虑使用快速数据存储。所有主要的关系数据库都经过了 wazoo 优化,您可能会发现只需让数据库为您完成任务即可加快您的任务。你甚至可以塑造它以适应 Redis store,它可以出色地聚合大数据集。

关于python - 如何加快 Python 的执行速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8079662/

相关文章:

python - 覆盖继承的默认支持对象(如 dict、list)的嵌套 JSON 编码

python - 连接两个数据帧并克服行

c++ - float4 - 乘加 - 性能技巧 OpenCL

c - f(n) = n + f(floor(n/2)) 是否有封闭形式?

python - 多重矩阵乘法

optimization - SLSQP 优化算法是如何工作的?

c++ - 高效的 float 到 int 且不会溢出

python - 数据类型转换错误 : ValueError: Cannot convert non-finite values (NA or inf) to integer

python lambda打印空间

java - Scala 不可变 Map 慢