我在Delphi中使用WinInet.h來通過HTTP下載文件,平均大小在30 KB到1.5 MB之間。InternetReadFile的共同平均緩衝區大小是多少?
var
Buf: array[0..BUFFER_SIZE - 1] of Byte;
while BOOL(InternetReadFile(hUrl, @Buf, SizeOf(Buf), BytesRead)) and (BytesRead > 0) do
if Terminated then
Exit
else
begin
FStream.WriteBuffer(Buf, BytesRead);
Synchronize(UpdateProgress);
FillChar(Buf, SizeOf(Buf), 0);
end;
此類下載的推薦緩衝區大小是多少?如果不應該太大也不要太小。
同意,程序員傾向於從他們的帽子中取出2的權力。鑑於磁盤緩存的大小,我通常會選擇128K或256K,但除非您使用本地http服務器和代碼分析器進行實際測試,否則很可能無法區分它們。 –