看板C_Sharp
标 题Re: [问题] buf = new buf[4096]
发信站芭乐的故乡 (Thu Oct 20 23:07:46 2011)
转信站ptt!news.ntu!ctu-gate!news.nctu!news.ccu!reader.ccu!BalaBBS
※ 引述《[email protected] (garmina1985)》之铭言:
> (已爬文)
> 各位前辈,最近在写C#的压缩程式(利用SharpZipLib)
> 里面有一行程式是byte[] buffer = new byte[4096]
> 想请问这样设计是有甚麽目的麻 ?
> 为什麽要把buf大小刚好设成4K byte呢 ?
> 请前辈指教,感谢。
因为OS中记忆体的分配多数是以4096为一个基本单位,但by OS不同可能会不一样
但脱不了 1024的倍数,你可以试着建立一个文字档,什麽内容都不需要有,
就会有4k(XP)了
不过如果要控制的内容确定都会小於4K的话,建议以1024为buffer单位也不错
如果内容非常大,你可以加大buffer的大小,但建议以4096的倍数为单位
这样可以加快IO的速度
--
◥◣ │◢ 我说拔辣!!◣╭─────────╮ ◢香蕉!!◣ \ ◢◤ˋ
ˋ ˊ▊ ●◤◥ ◤│ IP:140.123.174.1▂▃▅▆▇ ◥ ◤◥ ● ▊"
ˊ
" " ▋╯ ▁▃ DN:bala.twbbs.org│ ╰◢◤ "
∵ ∵▌▂▃▄▅▆▇█ ╰─────────╯《中正资管‧芭乐的故乡》 ▋!
!◢◤ FR: 114-32-245-244.HINET-IP.hinet.net ◢◤ ◢