打造不傷硬碟驢子

開始用 eMule 是在 2005年2月14日 (cryptkey.dat的建立日期),到現在已累積下載超過 1TB。
大家都說養動物會傷硬碟,的確看著下載時一直閃爍的硬碟燈,我想大家都會這麼認為,
試著去加大 eMule 的 Extended->File buffer size 到 1.5MB,也不見有明顯效果,
後來去看了 eMule 的 Source code 才發現除了buffer size 外,還有時間的因素,
eMule 對每個下載的檔案,不管 Buffer 有沒有滿,每超過1分鍾,都會把強制資料 flush 寫入磁碟,
因此當下載檔案多的時候,硬碟隨時都在寫入。這讓我很生氣,空有 Buffer 的設計卻無法
達到減少硬碟負荷,這時候才有了 build 自已的 eMule 的想法,打造出這一隻不傷硬碟的驢子。

請從這裡下載 (會配合 Official 版本更新)
http://kinmenalex.googlepages.com/

主要功能
eMule -> Options -> Extended
File buffer size 上限從 1.5 MB 調到 10 MB
新增 Total buffer limit 設定 (全部檔案所能使用的記憶體上限)
新增 Max buffer time 設定 (自由設定緩衝寫入的頻率,設成 30 分鐘一次就足夠了)


ps.
對曾在這個 blog 留言的人說聲抱歉,因為我可能要很久才會有回應。

PSP ISO 壓縮程式 CISO 改

ciso 是 iso 與 cso 間的轉換程式,可將 iso 壓縮變小,節省記憶棒空間。但壓縮後讀取時需耗費cpu 時間去解,有時會造成讀取較慢,所以這是一種空間與時間的交換。另外在壓縮的時過程中,並不是所有的檔案都能順利變小,有時反而會變糟糕,大多數是因為原來檔案已經是某種壓縮後的形式,這時候 ciso 會將這些部分用未壓的區塊存下(保持原來的樣子),將來在讀取的時候也不需耗時去解。經過一些分析後發現,有些區塊很接近壓不下來的狀態(就算用壓縮的形式存下來也爭取不到多少空間),但如果用未壓的形式存下來卻可以節省讀取的時間。
我在 ciso 的程式中加入了一個參數,用來決定多少 % 之上要存成未壓的區塊(原本預設是 100%),可用來調整這兩者之間的平衡。

Download:http://kinmenalex.googlepages.com/ciso.zip
MD5: 582799B46DBAE9C0CC19CA5594342B59
Source: http://kinmenalex.googlepages.com/ciso_src.zip
MD5: F8F856290848DDA540EB5D304ECBD83F

舉一個 iso 檔為例子
當未壓 % 由預設的 100 調成 95 時,
壓縮率下降了 1% (62%-->63%) , 也就是大小只增加了 1%,
但不需解壓的部分卻增加了 38% (13%-->51%)