後來把這個實驗寫成 script,方便測不同檔案,cat, lzop, gunzip 都先預先執行過以減少 load 時間的差異
#!/bin/sh
rm test test.lzo test.gz
cp $1 test
lzop -1 test
gzip -1 test -c > test.gz
ls -l test test.lzo test.gz
echo "-----------------------------------------------------------------------"
echo "test"
./eatmem
sleep 10
cat --help >& /dev/null
time cat test > /dev/null
echo "-----------------------------------------------------------------------"
echo "test.lzo"
./eatmem
sleep 10
lzop --help >& /dev/null
time lzop -d test.lzo -c > /dev/null
echo "-----------------------------------------------------------------------"
echo "test.gz"
./eatmem
sleep 10
gunzip --help >& /dev/null
time gunzip test.gz -c > /dev/null
結果大致與想像相同,檔案越大,能節省的時間越多。逐漸縮小測試檔 size,gzip 的方式很早就出現比沒壓縮慢的情況,除非將 CPU 升級,否則我是不考慮了。lzo 的表現則頗令人滿意,大檔案甚至會出現七、八倍效能的狀況,假設有支程式總共 link 五個 libraries,每個 library 從硬碟讀出平均節省 0.2 秒,那啟動速度就快整整一秒了,對大型程式改進一定更多。不過 lzo 的數據太漂亮,我也因此懷疑其可信度。索性拿已壓縮過的 .bz2 檔案來試,慘了,lzo 竟然也有速度比較快的時候,看來 lzop 的數據得要加乘某個數值才準。所以,我的測試只能先對 cryptcompress plugin 效能有個大概的底,想得到更真實的結果,還是乖乖弄個 partition 來玩吧。
您進行的實驗還真是有趣
回覆刪除還滿期待知道結果的 呵呵
我也經常需要partition測試
但我會用dd+losetup
產生虛擬的partition
但不確定對測試cryptcompress是否有幫助
數據準確度可能會有差
但起碼可以簡單做個比較
dd if=/dev/zero of=Reiser4.img bs=1M count=512
modprobe loop
losetup /dev/loop0 Reiser4.img
如此一來就有/dev/loop0的partition
more...
做個 file system image
回覆刪除你這個主意真是太好了
我怎麼都沒想到呢
不曉得 loop 層的影響有多大就是了