2016 - 2024

感恩一路有你

python吃cpu单核还是多核 Python如何利用多核处理器?

浏览量:1316 时间:2021-03-12 14:54:45 作者:admin

Python如何利用多核处理器?

在XP时代,单核或双核CPU可以发挥作用,而无需优化。但过渡到Windows7后,它对多核CPU有了更好的支持,但在启动过程中,它可能无法发挥多核CPU的性能,为了让装有Windows7系统的电脑能更好地利用双核或多核CPU,采用以下方法进行设置,可以让你的电脑启动速度提高大约20%。

步骤1:单击开始按钮,在开始菜单的搜索程序和文件输入框中输入msconfig,然后输入打开系统配置对话框。

步骤2:切换到Boot Options(引导选项)选项卡,然后单击advanced item(高级项目)按钮以弹出Boot advanced Options(引导高级选项)对话框。

第3步:检查对话框中的处理器数量,在下拉菜单中选择处理器数量,如2表示双核,并检查最大内存选项,然后单击“确定”返回并重新启动计算机。

无论硬件有多好,它也需要更好的软件支持。不管支撑有多好,不用也没用。希望大家能互相学习,互相交流,多分享自己的心得。

如何让一个Python的脚本跑满多核的CPU?

由于python的Gil,python的多线程没有起到多核的作用。这些线程在单个内核上运行。因此,为了发挥多核的作用,我们需要使用多进程,并尽可能为每个CPU核分配一个Python进程。

因此,如果你想运行多核CPU,你必须结合多进程和多线程

首先,纠正你的问题的陈述。并不是Python不能使用多核,而是多核的利用效率很低。

其次,要回答这个问题,您需要理解一个概念-全局解释器锁(GIL)。

看一篇关于Python Gil的文章。

综上所述,CPU的大规模电路设计已基本达到物理意义的末端,各厂商已开始转向多核进一步提高性能。为了充分利用多核、多线程的优势,同时也为了保证线程间的数据完整性和状态同步,python采用了最简单的锁方式(因此python的Gil是设计之初的懒惰造成的!)。Python库的开发人员接受了这个设置,也就是说,默认的Python是线程安全的,所以他们开始严重依赖这个特性,而不考虑额外的内存锁和同步操作。然而,Gil的设计有时显得笨拙和低效。此时,由于内建图书馆和第三方图书馆对Gil形成了牢不可破的依赖,Gil的改革难度加大。因此,目前的情况是Python在多核CPU上的多线程只对Io密集型计算有积极的影响;当至少有一个CPU密集型线程时,由于Gil的存在,多线程的效率会大大降低。尽管python社区正在不断努力改进这一点,但我担心它不会在短时间内改变,因此如果您想避免Gil,可以使用多处理器或期货模块或python解析器。

所以,不管Python的官方解释器将来在这个问题上是否有任何改进,现在您都可以有一些解决方案了。

您可以使用一些没有Gil的Python解析器,例如jpython、ironpython等

希望我的答案能帮助您。

python吃cpu单核还是多核 python3 ffmpeg如何利用多核cpu

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。