gpt4 book ai didi

C Windows 缓冲区大小

转载 作者:可可西里 更新时间:2023-11-01 10:08:34 34 4
gpt4 key购买 nike

假设我在 Windows 中使用 recv 函数从套接字接收数据。我很好奇最佳缓冲区有多大?我可以将其设置为 1024 字节,也可以将其设置为 51200 字节或更大。我想知道哪个对性能更好。

这不仅适用于 recv 函数,假设我正在读取一个大文本文件,我需要一个非常大的缓冲区还是一个较小的缓冲区?

最佳答案

操作系统执行自己的缓冲,因此缓冲区的大小并不重要。性能损失在于函数调用:1 字节缓冲区将是低效的,因为它需要对 recv() 的调用太多。缓冲区太大只是浪费空间。

最佳大小大约是您希望在单个 recv() 调用中接收或处理的数据大小的两倍,下限约为 1 或 2 tcp框架。

我个人使用 4KB 缓冲区,但这是我自己的偏好,并且很大程度上取决于我正在编写的应用程序。

关于C Windows 缓冲区大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7584147/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com