Re: [問題] buf = new buf[4096]
看板C_Sharp (C#)作者garmina1985 (garmina1985)時間13年前 (2011/10/21 09:31)推噓3(3推 0噓 0→)留言3則, 1人參與討論串3/3 (看更多)
感謝分享,另外由於是站外轉信,看不到推文,分享一位大大的推文,
glennchen:http://ppt.cc/tSjF
內容大概是說壓縮演算法本身的效能跟buf大小沒關,也有稍微提到你說的IO問題~
--
好久沒去bala站了XD
※ 引述《avi.bbs@bala.mis.ccu.edu.tw (keep healthy body)》之銘言:
※ 引述《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 ◢◤ ◢
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.39.131.180
推
10/27 13:41, , 1F
10/27 13:41, 1F
推
10/27 13:41, , 2F
10/27 13:41, 2F
推
10/27 13:42, , 3F
10/27 13:42, 3F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章