首页 > 其他分享 >计算密集型和IO密集型

计算密集型和IO密集型

时间:2023-11-23 14:15:05浏览次数:18  
标签:IO CPU 任务 密集型 计算 效率

是否采用多任务的第二个考虑是任务的类型。我们可以把任务分为计算密集型和IO密集型。

计算密集型任务的特点是要进行大量的计算,消耗CPU资源,比如计算圆周率、对视频进行高清解码等等,全靠CPU的运算能力。这种计算密集型任务虽然也可以用多任务完成,但是任务越多,花在任务切换的时间就越多,CPU执行任务的效率就越低,所以,要最高效地利用CPU,计算密集型任务同时进行的数量应当等于CPU的核心数。

计算密集型任务由于主要消耗CPU资源,因此,代码运行效率至关重要。Python这样的脚本语言运行效率很低,完全不适合计算密集型任务。对于计算密集型任务,最好用C语言编写。

第二种任务的类型是IO密集型,涉及到网络、磁盘IO的任务都是IO密集型任务,这类任务的特点是CPU消耗很少,任务的大部分时间都在等待IO操作完成(因为IO的速度远远低于CPU和内存的速度)。对于IO密集型任务,任务越多,CPU效率越高,但也有一个限度。常见的大部分任务都是IO密集型任务,比如Web应用。

IO密集型任务执行期间,99%的时间都花在IO上,花在CPU上的时间很少,因此,用运行速度极快的C语言替换用Python这样运行速度极低的脚本语言,完全无法提升运行效率。对于IO密集型任务,最合适的语言就是开发效率最高(代码量最少)的语言,脚本语言是首选,C语言最差。

翻译

搜索

复制

<iframe></iframe>

标签:IO,CPU,任务,密集型,计算,效率
From: https://www.cnblogs.com/szmcn/p/17851396.html

相关文章

  • Convolutional Neural Networks on Graphs with Chebyshev Approximation, Revisited
    目录概符号说明MotivationChebNetII代码HeM.,WeiZ.andWenJ.Convolutionalneuralnetworksongraphswithchebyshevapproximation,revisited.NIPS,2022.概作者剖析了ChebNet存在的一些缺陷,并通过约束系数获得更好的性能.符号说明\(V\),nodeset;\(E\),......
  • IoT数字孪生智慧工厂
      数字孪生是资产或系统的实时虚拟模型,它使用来自连接的物联网传感器的数据来创建数字表示。数字孪生允许您从任何地方实时监控设备、资产或流程。数字孪生用于多种目的,例如分析性能、监控问题或在实施之前运行测试。从物联网数字孪生中获得的见解使用户能够快速做出反应,以提高......
  • dremio 创建数据集命令
    以前dremio对于基于sql的数据集创建使用的命令是createvds<datasetname>asselect*from<source>新的调整为了 createview<datasetname>asselect*from<source>说明对于数据集的操作同时还支持其他修改命令,同时两个命令都可以使用参考资料https://docs.dremio.com/......
  • nanomq clion 远程debug尝试
    很简单因为nanomq是基于cmake开发的对于clion来说基于debug就比较方便了,同时因为nanomq相关依赖都是通过模块的,还是比较方便的,以下是一个简单的debug测试环境准备基于clion的remotesshclone代码 gitclonehttps://github.com/emqx/nanomq.gitcdna......
  • keycloak~登录步骤页login-actions/authenticate出现无限次302跳转的原因与解决
    问题出现的前提keycloak通过k8s部署,并进行了集群部署,共2个节点通过域名解析后,直接到外网LB,在LB上配置了k8s-ingress的IP,端口是80和443在keycloak应用的ingress配置中,对域名进行了keycloak服务的绑定问题的描述有时间无法完成登录,点登录后,刷新了一次登录页,未完成登录行为......
  • ESMapV结合BIM、GIS、三维建模、IOT实现数字孪生智慧桥梁、挠度监测、沉降监测、桥梁B
    前言传统桥梁管养模式陈旧,仍存在数据分散难归口、管养时间人力成本高、病害危情信息异步等弊端现象,潜在安全隐患俨然成为桥梁防护的一颗不定时炸弹。随物联网、信息化、数字孪生技术成熟发展,以三维数字镜像桥梁为孪生底座,打造全息感知预警为先、及时干预处置为主,复盘总结为后的精......
  • Bean instantiation via constructor failed; nested exception is org.springframewo
    一、从公司的的GitLab下载项目到本地二、nacos-2.0.1启动不了我以为是我中文路径问题,然后放到全是英文的一样报错,百度一圈没找到解决方法。三、大佬路过,瞟了我一眼的电脑解决了。删除D:\nacos-2.0.0\data 下面的所有文件即可 原因就是有人把自己的数据上传到git了,导致......
  • js如何计算字符串的字节数
    如果计算字符长度只需要使用length,letstr="hello世界";console.log(str.length)//7如何计算所占用的字节数呢?functiongetByteLength(str){letlength=0;for(leti=0;i<str.length;i++){letcharCode=s......
  • 【略读论文|时序知识图谱补全】Learn from Relational Correlations and Periodic Eve
    会议:SIGIR,时间:2023,学校:国防科技大学摘要:之前模型存在的问题:未能利用快照内结构信息的关系之间的语义相关性与快照间时间交互沿时间轴的周期性时间模式。本文的工作:提出了一种新的推理模型(RPC);它通过两个新的通信单元,即关系通信单元(RCU)和周期通信单元(PCU),充分挖掘关系关联和周......
  • iOS信号量造成线程优先级反转
    在并发队列使用信号量会可能会造成线程优先级反转一、在iOS16&XCode14上遇到-使用信号量造成线程优先级反转问题提醒经过查询资料,发现是在XCode14上增加了工具,比如:ThreadPerformanceChecker(XCode14上默认开启的),这个工具会让APP在运行的时候,发现有例如线程优先级反转......