C# 默认缓冲区大小为4096有什么原因吗?

C# 默认缓冲区大小为4096有什么原因吗?,c#,buffer,filestream,streamwriter,bufferstrategy,C#,Buffer,Filestream,Streamwriter,Bufferstrategy,我经常看到到处都使用4096作为默认缓冲区大小。选择4096而不是另一个值有什么原因吗?这确实取决于您的问题,但问题的一般折衷解决方案是4KB。 有关此选项的详细说明,请参见下面列出的链接: Jon Skeet选择了这个数字。我相信这与内存页大小有关。@michael:Jon Skeet发明了这个数字。在他编写缓冲区代码之前,宇宙从4095跳到4097。(忍不住。这是一个古老的迷因,但很有趣。)它是一个页面大小。它是一个普通的,4*1024或4K。

我经常看到到处都使用4096作为默认缓冲区大小。选择4096而不是另一个值有什么原因吗?

这确实取决于您的问题,但问题的一般折衷解决方案是4KB。 有关此选项的详细说明,请参见下面列出的链接:


Jon Skeet选择了这个数字。我相信这与内存页大小有关。@michael:Jon Skeet发明了这个数字。在他编写缓冲区代码之前,宇宙从4095跳到4097。(忍不住。这是一个古老的迷因,但很有趣。)它是一个页面大小。它是一个普通的,4*1024或4K。