侵权投诉

使用Python多进程的理由

2020-04-04 16:50 次阅读

Python 是运行在解释器中的语言,查找资料知道, python 中有一个全局( GI),在使用多进程( Threa)的情况下,不能发挥多核的优势。而使用多进程( Multiprocess),则可以发挥多核的优势真正地提高效率。

对比实验

资料显示,如果多线程的进程是 CPU 密集型的,那多线程并不能有多少效率上的提升,相反还可能会因为线程的频繁切换,导致效率下降,推荐使用多进程;如果是 IO 密集型,多线程进程可以利用 IO 阻塞等待时的空闲时间执行其他线程,提升效率。所以我们根据实验对比不同场景的效率

使用Python多进程的理由

(1)引入所需要的模块

使用Python多进程的理由

(2)定义 CPU 密集的计算函数

使用Python多进程的理由

(3)定义 IO 密集的文件读写函数

使用Python多进程的理由

(4) 定义网络请求函数

使用Python多进程的理由

(5)测试线性执行 IO 密集操作、 CPU 密集操作所需时间、网络请求密集型操作所需时间

使用Python多进程的理由

输出

CPU 密集:95.6059999466、91.57099986076355 92.52800011634827、 99.96799993515015

IO 密集:24.25、21.76699995994568、21.769999980926514、22.060999870300293

网络请求密集型:4.519999980926514、8.563999891281128、4.371000051498413、4.522000074386597、14.671000003814697

(6)测试多线程并发执行 CPU 密集操作所需时间

使用Python多进程的理由

(7)测试多线程并发执行 IO 密集操作所需时间

使用Python多进程的理由

(8)测试多线程并发执行网络密集操作所需时间

使用Python多进程的理由

Output : 0.7419998645782471、0.3839998245239258、0.3900001049041748

(9)测试多进程并发执行 CPU 密集操作所需时间

使用Python多进程的理由

Output : 54.342000007629395、53.437999963760376

(10)测试多进程并发执行 IO 密集型操作

使用Python多进程的理由

Output : 12.509000062942505、13.059000015258789

(11)测试多进程并发执行 Http 请求密集型操作

使用Python多进程的理由

Output : 0.5329999923706055、0.4760000705718994

实验结果

CPU 密集型操作 IO 密集型操作网络请求密集型操作

使用Python多进程的理由

通过上面的结果,我们可以看到:

多线程在 IO 密集型的操作下似乎也没有很大的优势(也许 IO 操作的任务再繁重一些就能体现出优势),在 CPU 密集型的操作下明显地比单线程线性执行性能更差,但是对于网络请求这种忙等阻塞线程的操作,多线程的优势便非常显著了

多进程无论是在 CPU 密集型还是 IO 密集型以及网络请求密集型(经常发生线程阻塞的操作)中,都能体现出性能的优势。不过在类似网络请求密集型的操作上,与多线程相差无几,但却更占用 CPU 等资源,所以对于这种情况下,我们可以选择多线程来执行。

使用Python多进程的理由

收藏 人收藏
分享:

评论

相关推荐

云计算为什么会用到Python编程语言

IaaS(Infrastructure-as-a- Service):基础设施即服务。消费者通过In....
发表于 05-31 11:22 16次 阅读
云计算为什么会用到Python编程语言

深度解读多处理器调度问题

周围的数据,比如遍历数组或指令的顺序执行。由于这两种局部性存在于大多数的程序中,硬件系统可以很好地预....
发表于 05-31 10:42 51次 阅读
深度解读多处理器调度问题

AI芯片行业到底是不是泡沫寒潮

从跑出实验室到在各行业落地,人工智能的产业链正在不断完善。一方面,算法公司已不再局限于只做软件,开始....
的头像 Wildesbeast 发表于 05-30 11:17 1047次 阅读
AI芯片行业到底是不是泡沫寒潮

Python数据如何分析

Python数据分析:seaborn
发表于 05-29 16:34 43次 阅读
Python数据如何分析

TL5728 EasyEVM开发板的硬件说明书

基于TI AM5728浮点双DSP C66x +双ARM Cortex-A15工业控制及高性能音视频....
发表于 05-29 15:13 112次 阅读
TL5728 EasyEVM开发板的硬件说明书

F28377d单CPU1运行的cmd文件,如何改成CPU1和CPU2同时运行需要的cmd文件

如题目前F28377d例程里sys/bios的cmd文件,只针单CPU1运行,文件如下: MEMORY [ PAGE 0 : /* Program Memor...
发表于 05-29 13:16 52次 阅读
F28377d单CPU1运行的cmd文件,如何改成CPU1和CPU2同时运行需要的cmd文件

28377D的双核例程工程怎么验证

1.比如说GPIO_TOGGLE的例程,文件夹下面有两个工程,是要把两个例程都下载进去才能验证吗? 2.假如运行两个工程,该如...
发表于 05-29 13:07 85次 阅读
28377D的双核例程工程怎么验证

Python NLTK学习方法

Python NLTK学习5(词性标注)
发表于 05-29 10:39 18次 阅读
Python NLTK学习方法

ucos2任务调度问题如何解决

我是一个初学者,现有一个问题有疑问,在一个任务里必需调用延时OSTimeDlyHMSM(0, 0, 0, 1)来进行任务调度吗? 我直接在...
发表于 05-29 09:15 20次 阅读
ucos2任务调度问题如何解决

28377内部温度,如果通过AD采样,怎么转换为实际温度?

377中CPU内部温度可以通过AD读取,如何转换为实际温度呢? 8.3.4 Internal Temperature Sensor The internal tempera...
发表于 05-29 08:52 23次 阅读
28377内部温度,如果通过AD采样,怎么转换为实际温度?

爬虫突破ip限制的方法

在本篇内容里小编给大家分享了关于Python数据抓取爬虫代理防封IP方法讲解,需要的朋友们可以跟着学习下。所周知,在互联网上抓...
发表于 05-28 17:35 122次 阅读
爬虫突破ip限制的方法

Arm即将推出新一代的旗舰CPU、GPU和NPU

Arm宣布推出用于旗舰型手机的新款处理器IP系列:Cortex-X1 CPU,Cortex-A78 ....
的头像 独爱72H 发表于 05-28 11:21 941次 阅读
Arm即将推出新一代的旗舰CPU、GPU和NPU

处理器型号和性能的查看方法

现在处理器生产厂家都是根据处理器的市场定位来属于同一系列的处理器产品是一个系列型号的,这样可以方便分....
发表于 05-28 09:16 161次 阅读
处理器型号和性能的查看方法

Python到底是什么

Python 是一种面向对象的、交互式的、解释型编程语言。Python 支持面向对象的程序设计,源程....
发表于 05-28 08:00 37次 阅读
Python到底是什么

python的饼状图

python饼状图
发表于 05-27 13:20 25次 阅读
python的饼状图

芯片是TMS320C6416TGLZA8,那上电复位后CPU时钟频率为850Mhz,还是CLKIN输入时钟频率?

你好,我使用的芯片是TMS320C6416TGLZA8,该芯片上电复位后CPU时钟频率为850Mhz,还是CLKIN输入时钟频率?...
发表于 05-27 09:06 33次 阅读
芯片是TMS320C6416TGLZA8,那上电复位后CPU时钟频率为850Mhz,还是CLKIN输入时钟频率?

python数据可视化之画折线图

python数据可视化之画折线图,散点图
发表于 05-27 08:09 31次 阅读
python数据可视化之画折线图

TMS320F2837xS系列微控制器的技术参考手册资料免费下载

CPU是32位定点处理器。该设备借鉴了数字信号处理、精简指令集计算(RISC)、微控制器体系结构、固....
发表于 05-27 08:00 40次 阅读
TMS320F2837xS系列微控制器的技术参考手册资料免费下载

如何选择CPU处理器

处理器,中央处理器,一台电脑的大脑,可想而知,处理器对于电脑是多么重要。性能强的处理器可以更快地处理....
发表于 05-26 09:56 239次 阅读
如何选择CPU处理器

P33-65nm闪存芯片的数据手册免费下载

 这一系列设备在16位数据总线上提供低电压下的高性能。单独的可擦除存储块的大小是为了最佳的代码和数据....
发表于 05-26 08:00 55次 阅读
P33-65nm闪存芯片的数据手册免费下载

单片机基础实验仿真手册第一版PDF电子书免费下载

单片机好比大脑,配合最小电路在 5V 电源供电下就可以根据用 C 语言编写好的程序进行相应的控制和运....
发表于 05-26 08:00 53次 阅读
单片机基础实验仿真手册第一版PDF电子书免费下载

东莞兆科教你:导热膏操作的实用小技巧

能够运用到多种领域的导热膏,是帮助CPU降温的法宝,不管是高性能的计算机CPU,还是声卡、显卡,甚者....
发表于 05-25 09:52 78次 阅读
东莞兆科教你:导热膏操作的实用小技巧

LabVIEW的编程经验教程免费下载

当我开始在键盘上敲打出这句话的时候,我已经使用 LabVIEW 7 年了。7 年的时间,就算天赋平平....
发表于 05-22 08:00 30次 阅读
LabVIEW的编程经验教程免费下载

利用python进行数据分析第二版PDF电子书免费下载

本书讲的是利用Python进行数据控制、处理、整理、分析等方面的具体细节和基本要点。我的目标是介绍P....
发表于 05-21 17:25 122次 阅读
利用python进行数据分析第二版PDF电子书免费下载

电脑cpu的拆卸步骤

大家只知道电脑的重要组成部分有哪些,它们各自的作用是什么以及简单的拆卸组装,那么电脑cpu怎么拆呢?....
发表于 05-21 09:37 206次 阅读
电脑cpu的拆卸步骤

电脑cpu占用过高怎么解决

当出现cpu占用过高的时候,我们在操作电脑的时候会非常不适,感觉电脑快要报废一样。那么,cpu占用过....
发表于 05-21 09:31 294次 阅读
电脑cpu占用过高怎么解决

电脑cpu容易坏的原因有哪些

处理器虽是电脑最不可或缺的核心硬件,但大家是不是最少听到的就是处理器破坏掉,今天小编将围绕什么原因导....
发表于 05-21 09:28 178次 阅读
电脑cpu容易坏的原因有哪些

PIC18F97J60系列单片机的数据手册免费下载

PIC18F97J60 是新面世的低压产品系列,继承了 PIC18 单片机的传统优点(即出色的计算性....
发表于 05-21 08:00 62次 阅读
PIC18F97J60系列单片机的数据手册免费下载

定制化服务器到底是什么

顾名思义,定制化服务器是基于传统服务器的基础,根据不同业务的实际需求进行研发、设计、生产的新型服务器....
发表于 05-21 08:00 74次 阅读
定制化服务器到底是什么

智能手机元器件的认识资料说明

本文档的主要内容详细介绍的是智能手机元器件的认识资料说明免费下载。
发表于 05-20 17:37 123次 阅读
智能手机元器件的认识资料说明

如何挑选CPU的散热器

高温天气,不仅让人热得浑身没劲,就连电脑也动不动就烫得厉害,这该如何是好呢?有点电脑基本知识的朋友都....
发表于 05-20 09:29 221次 阅读
如何挑选CPU的散热器

电脑的CPU如何进行更换

同行描述说是有可能CPU挂了,让给维修试试,打值没问题直接上电,可以触发到0.4A,没过内存,测量没....
发表于 05-20 09:21 374次 阅读
电脑的CPU如何进行更换

东莞兆科吸波材料“新鲜出炉”啦!

介绍什么是吸波材料,吸波材料是指能吸收投射到它表面的电磁波能量并且反射、折射和散射都很小的一类材料,....
发表于 05-20 08:50 30次 阅读
东莞兆科吸波材料“新鲜出炉”啦!

一文详解Ansible的自动化运维

CMDB:CMDB 存储和管理者企业IT架构中的各项配置信息,是构建 ITIL 项目的核心工具,运维....
的头像 Linux爱好者 发表于 05-19 17:06 467次 阅读
一文详解Ansible的自动化运维

常见的三种CPU封装技术

LGA全称为“LandGridArray”,及“栅格阵列封装”。被英特尔广泛的应用于自家的桌面级处理....
发表于 05-19 11:13 129次 阅读
常见的三种CPU封装技术

组装电脑的cpu如何选择

CPU作为电脑思考的大脑,决定了整台电脑的运算性能高低,但是用户却不一定懂得如何选择CPU,什么型号....
发表于 05-19 09:27 212次 阅读
组装电脑的cpu如何选择

CPU缓存是什么意思_CPU缓存有什么作用

由于处理器是核心硬件,相信我们在选择处理器的时候都会去关心处理器参数方面,而在处理器核心参数中,我们....
发表于 05-19 09:24 168次 阅读
CPU缓存是什么意思_CPU缓存有什么作用

CPU风扇转速变慢怎么解决

电脑随着使用次数增加吗,你会发现CPU风扇转速会变慢,CPU风扇转速会变慢的话可能会导致电脑的散热不....
发表于 05-19 09:22 151次 阅读
CPU风扇转速变慢怎么解决

计算机组成原理第二版学习课件免费下载

本文档的主要内容详细介绍的是计算机组成原理第二版学习课件免费下载包括了:第1章 计算机系统概论,第....
发表于 05-19 08:00 55次 阅读
计算机组成原理第二版学习课件免费下载

Java和Python机器学习框架都有哪些

机器学习的爆炸性增长推动了许多开源工具的发展,使得开发人员更容易学习其技术。接下来,我们来看看开发者....
发表于 05-18 11:48 76次 阅读
Java和Python机器学习框架都有哪些

CPU和显卡到底哪个更重要

 随着个人装机越来越流行,很多人都喜欢自己组装一台电脑来使用。而对于设计行业或者游戏玩家来说,CPU....
发表于 05-18 10:00 774次 阅读
CPU和显卡到底哪个更重要

cpu温度过高的解决方法

有时候电脑在长时间使用之后有可能出现CPU过热的现象,cpu温度过高怎么办,下面就为大家介绍一下解决....
发表于 05-18 09:59 298次 阅读
cpu温度过高的解决方法

cpu频率高低有什么影响

很多人在购置电脑的时候都什么关注cpu的频率高低,那么cpu的频率高低究竟对电脑有什么影响呢?下面就....
发表于 05-18 09:57 157次 阅读
cpu频率高低有什么影响

无线接入网通信技术的知识点合集

基带:Baseband 信源(信息源,也称发射端)发出的没有经过调制(进行频谱搬移和变换)的原始电信....
发表于 05-18 08:00 58次 阅读
无线接入网通信技术的知识点合集

cpu如何选择

CPU是一个电脑的核心零件,在组装电脑的时候,选购CPU尤其重要,那么cpu怎么选?下面以台式机为例....
发表于 05-17 09:50 286次 阅读
cpu如何选择

cpu如何升级

在使用一段时间之后,电脑的性能已经不足以应对日常使用了,升级CPU能够带来最直观的性能提升,那么cp....
发表于 05-17 09:47 164次 阅读
cpu如何升级

8代cpu能装win7系统吗

8代cpu能装win7吗?相信很多想要选购8代CPU的朋友都听说了,那么8代CPU为什么不能安装Wi....
发表于 05-17 09:45 186次 阅读
8代cpu能装win7系统吗

未来存储发展的六大趋势是怎么样的

以前,各类CPU的应用场所相对明确。除了少数几个厂家采用ASIC芯片应用于特定的计算场合之外,Int....
的头像 Wildesbeast 发表于 05-16 09:20 1422次 阅读
未来存储发展的六大趋势是怎么样的

cpu主要技术性能指标有哪些

cpu技术性能指标有主频,也就是核心运行的频率,外频是系统总线,还有缓存大小和倍频等。
发表于 05-15 09:39 319次 阅读
cpu主要技术性能指标有哪些

cpu超频和不超频有什么区别

cpu超频和不超频的区别在于,超频之后的同一款处理器拥有相对更好的性能,尽可能的发挥这款处理器的潜在....
发表于 05-15 09:35 186次 阅读
cpu超频和不超频有什么区别

Python接口自动化精装版PDF电子书免费下载

 为什么要先学 fiddler?学习接口测试必学 http 协议,如果直接先讲协议,我估计小伙伴们更....
发表于 05-15 08:00 59次 阅读
Python接口自动化精装版PDF电子书免费下载

一个任务如何拥有自己的CPU

任务有下面的特性:任务并不是随时都可以运行的,而一个已经运行的任务并不能保证一直占有 CPU 直到运....
的头像 单片机精讲吴鉴鹰 发表于 05-14 15:01 515次 阅读
一个任务如何拥有自己的CPU

cpu的性能天梯图

相信有不少朋友喜欢组装电脑时候都喜欢看下处理器性能如何,然后会搜处理器天梯图来看,那么cpu性能天梯....
发表于 05-14 09:53 877次 阅读
cpu的性能天梯图

CPU主频是什么

现在无论是手机还是电脑都会有CPU,在CPU的规格中会有主频这一参数说明,很多人不知道CPU主频是什....
发表于 05-14 09:47 170次 阅读
CPU主频是什么

cpu时钟频率的单位是什么

cpu时钟频率的单位是Hz,是以【若干次周期每秒】来度量,因此量度的单位采用的是SI单位赫兹(Hz)....
发表于 05-14 09:43 192次 阅读
cpu时钟频率的单位是什么

通俗易懂讲故事版本的CPU工作原理

如何用讲故事的形式通俗的解释CPU的工作原理。
发表于 05-14 09:32 137次 阅读
通俗易懂讲故事版本的CPU工作原理

Java线上故障排查必备指南完整版合集免费下载

线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进....
发表于 05-14 08:00 43次 阅读
Java线上故障排查必备指南完整版合集免费下载

电信进行大规模集采招标, 国产CPU服务器占比远超预期

中国电信近日公开进行国产CPU服务器集采招标,此次集采共包含8个标包,共3个系列服务器采购,这3个系....
的头像 21克888 发表于 05-13 09:32 1862次 阅读
电信进行大规模集采招标, 国产CPU服务器占比远超预期

CPU的主频是多少

一般而言目前主流的CPU产品的主频都在3.0GHz左右,一般同一个核心架构的CPU产品主频越高,性能....
发表于 05-13 09:31 196次 阅读
CPU的主频是多少

cpu有哪些性能指标

在选购CPU产品的时候,可以看一下CPU的主频、核心数和外频等参数就可以,如果是同一代的产品在数字序....
发表于 05-13 09:29 194次 阅读
cpu有哪些性能指标

TMS320VC5501 定点数字信号处理器

TMS320VC5501(5501)定点数字信号处理器(DSP)基于TMS320C55x™DSP生成CPU处理器内核。 C55x™DSP架构通过增加并行性和全面关注降低功耗来实现高性能和低功耗。 CPU支持内部总线结构,该结构由一个程序总线,三个数据读总线,两个数据写总线以及专用于外设和DMA活动的附加总线组成。这些总线能够在一个周期内执行最多三次数据读取和两次数据写入。并行,DMA控制器可以独立于CPU活动执行数据传输。 C55x™CPU提供两个乘法累加(MAC)单元,每个单元能够进行17位×17位乘法运算。单循环。额外的16位ALU支持中央40位算术/逻辑单元(ALU)。 ALU的使用受指令集控制,提供优化并行活动和功耗的能力。这些资源在C55x CPU的地址单元(AU)和数据单元(DU)中进行管理。 C55x DSP代支持可变字节宽度指令集,以提高代码密度。指令单元(IU)从内部或外部存储器执行32位程序提取,并为程序单元(PU)排队指令。程序单元解码指令,将任务指向AU和DU资源,并管理完全受保护的管道。预测分支功能可避免执行条件指令时的管道刷新。 5501外设...
发表于 10-09 14:55 217次 阅读
TMS320VC5501 定点数字信号处理器