สำหรับการกระจายข้อมูลที่เก็บถาวรผ่านทางอินเทอร์เน็ตสิ่งต่อไปนี้มักเป็นเรื่องสำคัญ:
- อัตราส่วนการบีบอัด (เช่นขนาดของคอมเพรสเซอร์ที่ทำให้ข้อมูล)
- เวลาในการบีบอัด (ข้อกำหนดของ CPU);
- ข้อกำหนดหน่วยความจำการบีบอัด และ
- ความเข้ากันได้ (ความกว้างของโปรแกรมการแตกไฟล์)
ความต้องการหน่วยความจำและการบีบอัดของ CPU ไม่สำคัญมากนักเพราะคุณสามารถใช้เครื่องจักรขนาดใหญ่ได้อย่างรวดเร็วและคุณต้องทำเพียงครั้งเดียวเท่านั้น
เมื่อเทียบกับ bzip2 แล้ว xz มีอัตราส่วนการบีบอัดที่ดีขึ้นและเวลาในการบีบอัดที่ลดลง (ดีกว่า) อย่างไรก็ตามโดยทั่วไปแล้วที่การตั้งค่าการบีบอัดใช้ต้องการหน่วยความจำเพิ่มเติมในการขยายขนาด[1]และค่อนข้างแพร่หลายน้อยกว่า Gzip ใช้หน่วยความจำน้อยกว่า
ดังนั้นจะมีการโพสต์ไฟล์เก็บถาวรทั้งรูปแบบ gzip และ xz ซึ่งช่วยให้คุณสามารถเลือก:
- จำเป็นต้องคลายการบีบอัดในเครื่องที่มีหน่วยความจำ จำกัดมาก (<32 MB): gzip ได้รับไม่มากเมื่อพูดถึงแหล่งเคอร์เนล
- ต้องการคลายเครื่องมือขั้นต่ำที่มี: gzip
- ต้องการประหยัดเวลาในการดาวน์โหลดและ / หรือแบนด์วิดธ์: xz
ไม่มีการรวมกันอย่างเป็นจริงของปัจจัยที่ทำให้คุณเลือก bzip2 ดังนั้นมันจะค่อย ๆ ออกมา
ผมมองไปที่การเปรียบเทียบการบีบอัดในบล็อกโพสต์ ฉันไม่ได้พยายามทำซ้ำผลลัพธ์และฉันสงสัยว่าบางอย่างเปลี่ยนไป (ส่วนใหญ่ฉันคาดว่าจะxz
ได้รับการปรับปรุงให้ดีขึ้นเนื่องจากเป็นรุ่นล่าสุด)
(มีบางสถานการณ์ที่การใช้งาน bzip2 ที่ดีอาจดีกว่า xz: bzip2 สามารถบีบอัดไฟล์ที่มีเลขศูนย์และลำดับจีโนม DNA ได้ดีกว่า xz ตอนนี้ xz รุ่นใหม่มีโหมดบล็อก (ไม่จำเป็น) ซึ่งช่วยให้สามารถกู้คืนข้อมูลได้ หลังจากจุดของความเสียหายและการบีบอัดแบบขนานและ [ในทางทฤษฎี] การบีบอัดก่อนหน้านี้เพียง bzip2 เสนอสิ่งเหล่านี้[2]อย่างไรก็ตามสิ่งเหล่านี้ไม่เกี่ยวข้องกับการกระจายเคอร์เนล)
1: ในขนาดเก็บเป็นรอบxz -3
bzip -9
จากนั้น xz ใช้หน่วยความจำน้อยกว่าในการขยายขนาด แต่xz -9
(เป็นเช่นใช้สำหรับลินุกซ์เคอร์เนล tarballs) bzip -9
ใช้มากขึ้นกว่า (และยังxz -0
ต้องการมากกว่าgzip -9
)
2: F21 System Wide Change: lbzip2 เป็นการใช้งาน bzip2 ที่เป็นค่าเริ่มต้น