2015年4月13日 星期一

[python] Cache方法測試效能

早在兩年前我用兩種儲存方法去紀錄cache的資料

今天趁空閒之時,在特定情況下測試兩種方法

這時才發現已前覺得zip方法很快,但實際不然


方法說明:


dir方法: 

運用資料目錄方法,
將KEY作為檔案名稱,
檔案內容作為VALUE

zip方法: 

將資料用zip壓縮,
附加檔用zip附加方法加上去,
查詢某檔案名稱用zip內部壓縮目錄查找

早期測試情境:

zip比較快的原因為,
zip對於文字或是相同字元有壓縮作用,
可以縮小檔案大小,
因此在大批資料時,
解壓縮速度遠高於存放在各檔案內的內文轉譯。
因此檔案大存取次數少的效率 zip > dir

近期測試情境:

每比KEY/VALUE都為不同值,
格式差異大,檔案比數多,
不容易壓縮且疊加檔案次數也多
因此檔案小存取次數多的效率 dir >> zip

結論:

由於大批相同資料的狀況不容易發生,
而且疊加檔案的情況很容易讓壓縮檔案的目錄結構惡化,
再加上使用情境還是小檔案多次存取較多,
因此dir存放實用性遠比zip壓縮後的結果好。


回想起兩年前的某個CASE因為這樣的方法導致效率隨時間愈久也愈差,
果然在時間緊迫的情況下減少測試時間,
很容易導致各種危險,也還好當時的專案只是demo

沒有留言:

張貼留言