草庐IT

.net - 最佳文件缓冲区读取大小?

我正在编写一个需要读取相当大文件的应用程序。我一直想知道现代WindowsXP计算机上读取缓冲区的最佳大小是多少。我用谷歌搜索并找到了许多以1024作为最佳大小的示例。这里是我的意思的一个片段:longpointer=0;buffer=newbyte[1024];//What'sagoodsizehere?while(pointer我的应用程序相当简单,所以我不想编写任何基准测试代码,但想知道常见的大小是多少? 最佳答案 1k的缓冲区大小似乎有点小。通常,没有“一刀切”的缓冲区大小。您需要设置适合算法行为的缓冲区大小。现在,一般来说

c++ - boolean 变量的最佳大小是多少

我开始相信boolean变量的最佳大小是数据的自然宽度,即在C/C++中它是int。所以对于现代处理器,这通常是32位。例如,在机器级别将其声明为字节需要32位提取,然后是掩码。但是我看到iOS中的BOOL是8位。我原以为使用字节的人使用的是8位处理器的遗留思想。我意识到这个问题取决于用途,并且在大多数情况下,语言定义的boolean值是最好的选择,但有时您需要定义自己的boolean值,例如当您转换来自外部源的代码时或者您想编写跨平台代码。同样重要的是,如果要将boolean值打包到串行流中,为了通过以太网等串行线路发送或存储它,最好将boolean值打包成更少的位。但我觉得从处理器

c++ - 对于最大吞吐量,UDP 数据包的最佳大小是多少?

我需要通过可能有损网络将数据包从一台主机发送到另一台主机。为了最大限度地减少数据包延迟,我不考虑TCP/IP。但是,我希望最大化使用UDP的吞吐量。要使用的UDP数据包的最佳大小应该是多少?以下是我的一些考虑:网络中交换机的MTU大小为1500。如果我使用大包,例如8192,这会造成碎片。丢失一个片段会导致整个数据包丢失,对吧?如果我使用较小的数据包,我会产生UDP和IPheader的开销如果我使用非常大的数据包,我可以使用的最大数据包是多少?我读到最大的数据报大小是65507。我应该使用什么缓冲区大小来允许我发送这样的大小?这会有助于提高我的吞吐量吗?常见操作系统(例如Windows