深入浅出缓存和缓冲的异同
缓冲
概念
缓冲(buffer),相信编程时常会遇到这个单词相关的API,而且通常是数据输入输出时使用的API。
实际上,缓冲是内存中的一部分预留存储空间,专门用来缓冲输入和输出时的数据。
存在的意义
1.避免高速设备等待低速设备
计算机的CPU运算速度很快,输入输出设备跟不上它运算的速度。它们之间会产生一个速度差,会使高速的CPU等待低速的输入输出设备,浪费不必要的时间。
这个时候,缓冲就应时而生。以打印机为例,打印的速度很慢,但我们可以把文档输送到它的缓冲区域,解放CPU,让它处理别的任务,避免资源浪费。
2.减少IO操作
数据量一定,单次输送数量越少,需要次数越多,而无论开始或停止IO都很耗时。
因此我们可以先吧数据输送到缓冲区,缓冲区满之后再一次性输送,减少IO操作次数,提升效率。
总结:提升CPU的工作效率
缓存
概念
缓存(Cache),即高速缓冲存储器,是位于CPU与内存之间的一种容量较小但速度很高的存储器。
存在的意义
CPU经常需要从内存存取数据,但它们之间存在运算速度的差异,导致有时CPU无法及时获得想要的数据。
缓存解决了这一速度差,CPU可以从中快速读取数据和指令,如果没有才会去读取内存,同时也避免了对内存的频繁读取。
总结:提升CPU的工作效率
总结
缓冲和缓存的作用都是提升CPU的工作效率。
但缓冲偏重在写,缓和写这个过程,使写的次数减少,单次写的数量增多。缓存偏重在读,把需要的数据提前放入其中,方便读取,读的次数减少,速度提升。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
