CPU密集型和I/O密集型

I、CPU密集型(CPU-bound)

一、CPU密集型也叫计算密集型,指的是硬盘、内存在读写数据时要比CPU速度快的多,CPU要读写I/O时,I/O在很短的时间内完成,CPU有很多的运算还要处理

二、在多重程序系统(即同时运行多道程序或多处理机同时执行多个程序序列)中,大部份时间用来做计算、逻辑判断等CPU动作的程序称之CPU bound。例如一个计算圆周率至小数点一千位以下的程序,在执行的过程当中绝大部份时间用在三角函数和开根号的计算,便是属于CPU bound的程序。

II、IO密集型

一、IO密集型指的系统的CPU性能比硬盘、内存的性能高的多,大部分时间是CPU在等待IO

二、IO bound的程序一般在达到性能极限是,CPU占用率仍然比较低

III、CPU密集型 vs IO密集型

我们可以把任务分为计算密集型和IO密集型。

CPU密集型任务主要消耗CPU资源,代码的运行效率就至关重要,Python这样的脚本语言运行效率太低,并不适合CPU密集型任务

I/O密集型任务主要涉及到网络、磁盘的IO,这类任务的特点是CPU少,任务大部分时间都在等待IO,IO任务执行期间,99%时间都花在IO上,对于IO任务,代码开发效率越高(代码少),就越适合,脚本语言最适合

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容