首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用多处理/多线程使我的Python脚本更快?

问如何使用多处理/多线程使我的Python脚本更快?
EN

Stack Overflow用户
提问于 2016-01-11 23:37:58
回答 1查看 123关注 0票数 0

一般来说,我对Python和编程都是相当陌生的。我已经写了一个脚本,通过一个长长的URL列表(~7000),并检查它们的状态,以找到任何断开的链接。可以预见的是,这需要几个小时逐个请求每个URL。我听说过多进程(或多线程?)可以用来加快速度。实现这一目标的最佳方法是什么?我应该一次运行多少个进程/线程?是否必须创建多批URL以进行并发检查?

EN

回答 1

Stack Overflow用户

发布于 2016-01-11 23:45:58

这个问题的答案取决于进程是将大部分时间花在处理数据上还是在等待网络上。如果是前者,那么您需要使用multiprocessing,并生成与系统上的物理核心一样多的进程。不要忘记确保为任务选择适当的算法。最后,如果所有其他方法都失败了,编写parts of the program in C也是一个可行的解决方案。

如果您的程序因为花费大量时间等待单个服务器响应而变得很慢,那么您可以使用threads或asynchronous IO framework并行化网络访问。在这种情况下,您可以使用比物理处理器核心多得多的线程,因为在大多数情况下,您的核心将处于休眠状态,等待一些有趣的事情发生。您需要在您的机器上测量结果,以找出适合您的最佳线程数。

无论您做什么,请确保您的程序不会使用大量并发或重复请求来打击远程服务器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34725396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档