缓冲IO从多个写入中积累字节,以便一次性写入。Unbuffered立即将字节写入磁盘。由于写入磁盘的速度很慢,当发出多个小写调用时,缓冲区会显着地提高性能,但是如果只发出一个写调用,是否应该使用非缓冲呢?
发布于 2022-01-10 21:37:27
如果只发出一次写调用,
应该使用非缓冲吗?
您应该编写清晰的代码,尽可能简单,使用与您的目的相适应的高效算法。您不应该花费精力或额外的代码行来控制诸如I/O缓冲之类的细节,除非有明确和重要的胜利,无论是通过对代码的推理还是对其行为的实际测量。只要足够快就能达到目的,拥有易于理解和维护的代码比拥有绝对最快的代码更重要。
尽管如此,缓冲并不能为单个写提供性能优势。事实上,在这种情况下,缓冲的代价可能更高。
然而,,与实际I/O的成本相比,按每次写入计算的额外成本将非常小,您不太可能看到缓冲和一次性写入之间的性能差异,所以即使您实际上是在解决性能问题,这也不太可能是一个值得关注的地方。
https://stackoverflow.com/questions/70617083
复制相似问题