Re: [問題] buf = new buf[4096]
※ 引述《garmina1985.bbs@ptt.cc (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 ◢◤ ◢
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章