我有一个用 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/