因为标准IO使用缓存技术,当数据写入时并没有立即把数据交给内核,而是先放在缓存区中,当缓存区满时,会一次性把缓冲区中的数据交给内核,这样就减少了内核态与用户态的切换次数。
而系统IO每写一次数据就要进入一次内核态,这样就浪费了大量时间进行内核态与用户态的切换,因此用时更长。
如果为系统IO设置更大的缓冲区,它会比标准IO更快。
为什么标准IO比系统IO快
最新推荐文章于 2023-02-07 10:07:04 发布
因为标准IO使用缓存技术,当数据写入时并没有立即把数据交给内核,而是先放在缓存区中,当缓存区满时,会一次性把缓冲区中的数据交给内核,这样就减少了内核态与用户态的切换次数。
而系统IO每写一次数据就要进入一次内核态,这样就浪费了大量时间进行内核态与用户态的切换,因此用时更长。
如果为系统IO设置更大的缓冲区,它会比标准IO更快。