[英]TcpClient always got ReceiveBufferSize = 65536 on Windows 8.1
[英]Why is the default value of the TCPClient's ReceiveBufferSize is 8192?
2的13的幂是8192。所以,是的,它是2的幂。
还要注意,它也是4096的倍数,这是最流行的虚拟内存页面大小。
传统上,操作系统中的内存管理器和页面文件在大小为2的幂的页面上工作。这允许使用左/右移位操作执行非常有效的乘/除操作。 使用缓冲区时,最坏的情况是缓冲区的大小比页面大小长1个字节(这将导致额外的页面交换,但收益非常低)。 因此,默认缓冲区大小也将倾向于以两倍为单位实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.