首页 > 其他分享 >CPU处理数据 vs IO读取数据

CPU处理数据 vs IO读取数据

时间:2023-12-21 16:58:32浏览次数:30  
标签:读取数据 处理 vs 密集型 IO 磁盘 数据 CPU

CPU密集型(文件/数据的复杂) 指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。

CPU密集的意思该任务需要大量的运算,而没有阻塞,CPU一直全速运行。(eg:处理复杂的运算)

CPU密集任务只有在真正的多核CPU上才可能得到加速(通过多线程),而在单核CPU上,无论你开几个模拟的多线程该任务都不可能得到加速,因为CPU总的运算能力就那些。

简而言之, CPU密集型可以理解为 就是处理繁杂算法的操作,对硬盘等操作不是很频繁,比如一个算法非常之复杂,可能要处理半天,而最终插入到数据库的时间很快。

例子:

  1. 科学计算:进行复杂的数学运算、模拟、优化等,需要大量的计算资源和时间。
  2. 大数据处理:对大量数据进行处理和分析,需要高效的数据处理算法和强大的计算能力。
  3. 图像处理和视频编辑:这些任务需要大量的计算资源来处理图像和视频数据,进行各种转换和编辑操作。
  4. 机器学习和深度学习:这些任务需要进行大量的矩阵运算、神经网络训练等,需要高性能的CPU和GPU。

以上都是CPU密集型的常见例子,它们都需要大量的计算资源和时间来完成。

 

IO密集型 (文件/数据的量大)指的是系统的CPU性能相对硬盘、内存要好很多,此时,系统运作大部分的状况是CPU在等I/O (硬盘/内存) 的读/写操作,此时CPU Loading并不高。IO密集型任务一般需要大量I/O操作(磁盘IO,网络IO),而pipeline做得不是很好,没有充分利用处理器能力。

  • 磁盘IO是指计算机系统中,数据在磁盘和内存之间的读写操作。磁盘IO通常发生在文件系统层面,用于读写文件或数据块。
  • 网络IO是指计算机系统中,数据在网络中传输的读写操作。网络IO通常发生在应用程序层面,用于发送和接收数据包。

例子:

  1. 数据库查询:数据库查询操作通常需要从磁盘读取数据,然后进行计算和处理。如数据检索、更新。
  2. 文件操作:读取、写入、复制、移动、备份等。
  3. 图形渲染:处理大量的图形数据和计算,如3D游戏、视频编辑等。密集型任务。
  4. 视频播放:从磁盘读取大量数据,并且需要实时解码播放。
  5. 网络通信:进行大量的网络请求和响应,如网络爬虫、API调用。

 

标签:读取数据,处理,vs,密集型,IO,磁盘,数据,CPU
From: https://www.cnblogs.com/fengok/p/17919411.html

相关文章

  • Maven-Introduction to the Dependency Mechanism | Maven实战--- dependencies与depe
    Maven–IntroductiontotheDependencyMechanismhttps://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#:~:text=Thedependencymanagementsectionisamechanismfor,referencestotheartifactsinthechildPOMs.Maven实战---......
  • 文心一言 VS 讯飞星火 VS chatgpt (161)-- 算法导论13.1 1题
    一、用go语言,按照图13-1(a)的方式,画出在关键字集合(1,2,…,15)上高度为3的完全二叉搜索树。以三种不同方式向图中加入NIL叶结点并对各结点着色,使所得的红黑树的黑高分别为2、3和4。文心一言:首先,我们需要明确什么是完全二叉搜索树(CompleteBinarySearchTree,CBST)和红黑树(Red......
  • Json.Net Deserialize a Collection from BSON
    DeserializeaCollectionfromBSON(newtonsoft.com)Thissamplesets ReadRootValueAsArray to true sotherootBSONvalueiscorrectlyreadasanarrayinsteadofanobjectanddeserializesBSONtoacollection.SampleTypesCopypublicclassEv......
  • requests模块-session
    session对象能够跨http请求保持某些参数importrequestss=requests.Session()#设置cookiess.get("http://httpbin.org/cookies/set/sessioncookie/123456789")#发送请求,查看当前请求的cookiesr=s.get("http://httpbin.org/cookies")print(r.text)运行结果{"co......
  • RabbitMQ vs Kafka:正面交锋!
    介绍作为一名有着大量微服务系统处理经验的软件架构师,我经常遇到一个不断重复的问题:“我应该使用RabbitMQ还是Kafka?”出于某种原因,许多开发人员认为这些技术是可以互换的。虽然在某些情况下确实如此,但RabbitMQ还是Kafka之间存在根本上的差异。因此,不同的场景需要不同的,......
  • dremio 24.3 版本构建的一些问题
    dremio24.3社区版代码提供了,从官方文档来看,构建与以前不太一样了,以下是构建中一些问题说明主要问题jdk需要同时包含jdk8以及jdk11,maven配置toolchains解决方法对于多jdk的安装可以使用二进制程序,比如我使用的mac我使用了sdkman这个工具管理多jdktoolchains配置......
  • vscode 错误 go: go.mod file not found in current directory or any parent directo
    前言安装VSCODE后,新建立的GO文件按F5出错。go:go.modfilenotfoundincurrentdirectoryoranyparentdirectory;see'gohelpmodules'处理步骤开启gomodules功能命令行输入goenv-wGO111MODULE=on建立src目录比如我程序文件夹名为gosrc,则目录为gosrc|_src......
  • 大模型:高质量对话数据生成,Enhancing Chat Language Models by Scaling High-quality I
    EnhancingChatLanguageModelsbyScalingHigh-qualityInstructionalConversations论文地址1.导读不少工作已经意识到ChatGPT的秘密在于将指令微调和对其微调做到了极致,是继GPT-3后的又一次大力出奇迹。这篇文章来自清华大学5月份的工作,目的在于生成高质量的指令微调......
  • Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
    报错:OMP:Error#15:Initializinglibiomp5md.dll,butfoundlibiomp5md.dllalreadyinitialized.OMP:HintThismeansthatmultiplecopiesoftheOpenMPruntimehavebeenlinkedintotheprogram.Thatisdangerous,sinceitcandegradeperformanceorcausei......
  • Windows phpstudy vscode Xdebug调试无效,无法监听,没有什么效果
    Windows phpstudy vscodeXdebug调试无效,无法监听,没有什么效果vscode正常,能启动,能标记,就是无法监听打印phpinfo(); Xdebug版本3打印的信息输入这里,找出对应PHPXdebug的dll文件Xdebug:Support—TailoredInstallationInstructions会出给检查结果,下面是我的再看看VSCODE插......