缓冲流比“普通”流更好,因为它进行的系统调用更少,所以大多数时候速度更快。这个论点在互联网上无处不在,但我找不到“正常”流比缓冲流更好的例子。当“正常”流比缓冲流快时,有人可以解释或举个例子吗?
最佳答案
一些可能的答案
- 当它在别处缓冲时。拥有多层缓冲是低效的,会导致额外的复制,更不用说额外的调用了
- 当错误订购和/或丢失是可以接受的。有时您处理的协议(protocol)不关心数据是否丢失,只要您拥有最新的即可。其他时候,您也许可以在没有缓冲区的情况下更有效地处理错误排序
- 异步执行操作时。有时您希望尽快对数据的到达使用react,而不是将其累积在缓冲区中。
关于performance - 为什么不总是使用缓冲流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41644476/