我有一個應用程序使用外部緩存的一些數據(特別是,在另一臺服務器上的memcached)。有一個選項可以在緩存之前用zlib壓縮數據。問題是 - 哪個數據大小值得壓縮?例如,如果我們有10字節的數據項,那麼浪費時間壓縮/解壓它可能是沒有用的。但是如果我們有10K的數據,這可能是值得的。存儲的數據將主要是ASCII字符串。我知道這取決於網絡速度,CPU速度,數據和什麼不是,但有沒有任何指導方針或啓發式?不一定是完美的,但如果它可以節省一些週期,那就太好了。zlib壓縮的最小數據大小?
4
A
回答
2
Zlib的deflate具有極小的塊頭(4位)。 http://www.gzip.org/zlib/rfc-deflate.html 3.2.3節
它可以存儲未壓縮的塊或用固定的哈夫曼表進行壓縮,因此即使數據很短,您的數據也不會大量擴展。
UPDATE:
有用於壓縮短字符串(天真的)項目smaz
https://github.com/antirez/smaz和作者說,
認爲像zlib的通常無法壓縮文本比100短字節。
速度。可能你應該寫一個小的基準程序。我可以找到這項研究http://pytables.github.com/usersguide/optimization.html,有一些有趣的數字:寫不同壓縮的短記錄的速度(no,zlib,lzo,bzip2);並閱讀短記錄。
Zlib在寫入時比未壓縮時慢5倍,讀取時低8倍。此外,lzo在這次評估中表現更好。
+1
我並不擔心擴展問題,因爲在壓縮和解壓縮的東西上浪費時間而不能從壓縮中獲得任何加速。 – StasM 2011-04-20 22:41:55
相關問題
- 1. zlib不同的解壓縮大小
- 2. zlib:解壓縮的文件大小?
- 3. 在zlib中獲取未壓縮數據的大小?
- 4. zlib C++壓縮緩衝區的字符大小
- 5. Zlib壓縮放大文件
- 6. 壓縮小塊數據
- 7. SCROLLVIEW最小縮放大小
- 8. 壓縮算法的最小文件大小
- 9. 的Python zlib的解壓縮gzip壓縮數據
- 10. ASIHTTPRequest的zlib壓縮
- 11. Sql Server壓縮數據庫大小類似的數據
- 12. JFreeChart最大縮小
- 13. 大於配置大小的SQL壓縮數據庫
- 14. DCT壓縮 - 塊大小,選擇係數
- 15. 用c#打開Delphi ZLib壓縮數據#
- 16. 數據壓縮庫:brotli vs zlib
- 17. zlib壓縮的最佳尺寸?
- 18. 的zlib壓縮/解壓縮Linux編程
- 19. zlib壓縮和解壓
- 20. Zlib解壓縮C++
- 21. 在iphone sdk中解壓縮文件的最大大小?
- 22. 大領域壓縮文件大小
- 23. JavaScript的縮小和壓縮
- 24. 合理的壓縮塊大小
- 25. vulkan中壓縮紋理的大小
- 26. 圖像壓縮的大小 - iPhone SDK
- 27. 獲取未壓縮的圖像大小
- 28. 壓縮圖像的可能性(大小)
- 29. 使用壓縮縮小圖像大小不改變尺寸
- 30. 壓縮(最小化)來自python的HTML
我在想壓縮小於網絡數據包的數據可能不值得,因爲發送它大概需要同一時間......我不知道它是否正確? – StasM 2011-04-20 23:15:23