开发者社区> 问答> 正文

请问Python如何充分利用多核CPU的优势提升性能。加快代码执行效率?

已解决

请问Python如何充分利用多核CPU的优势提升性能。加快代码执行效率?

展开
收起
1780169608831412 2021-10-29 17:21:18 1282 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    您好,因为GIL的存在,Python很难充分利用多核CPU的优势。但是,可以通过内置的模块multiprocessing实现下面几种并行模式:

    多进程:对于CPU密集型的程序,可以使用multiprocessing的Process,Pool等封装好的类,通过多进程的方式实现并行计算。但是因为进程中的通信成本比较大,对于进程之间需要大量数据交互的程序效率未必有大的提高。

    多线程:对于IO密集型的程序,multiprocessing.dummy模块使用multiprocessing的接口封装threading,使得多线程编程也变得非常轻松(比如可以使用Pool的map接口,简洁高效)。

    分布式:multiprocessing中的Managers类提供了可以在不同进程之共享数据的方式,可以在此基础上开发出分布式的程序。

    不同的业务场景可以选择其中的一种或几种的组合实现程序性能的优化。

    2021-10-29 17:21:38
    赞同 2 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Python第四讲——使用IPython/Jupyter Notebook与日志服务玩转超大规模数据分析与可视化 立即下载
Improving Python and Spark 立即下载
Improving Python and Spark Per 立即下载