ระหว่าง xz, gzip และ bzip2 อัลกอริทึมการบีบอัดใดมีประสิทธิภาพมากที่สุด


16

ระหว่าง xz, gzip และ bzip2 อัลกอริทึมการบีบอัดใดที่ให้ขนาดไฟล์ที่เล็กที่สุดและความเร็วที่เร็วที่สุดเมื่อทำการบีบอัด tarball ขนาดใหญ่พอสมควร?


'ดีที่สุด' เหมือนใน 'ส่งผลให้ขนาดไฟล์เล็กที่สุด'?
Hennes

ฉันไม่รู้ฉันกำลังพยายามหาคำตอบคำถามเพื่อให้ฉันสามารถเพิ่มการทดสอบของฉันเป็นคำตอบ ฉันก็ไม่รู้เหมือนกันว่าทำไมสิ่งนี้จึงปิด @Karan
Nathan2055

1
โอ้ทำไมมันถูกปิดมันง่าย "ดีที่สุด" เป็นอัตวิสัยสูงและมักนำไปสู่การอภิปรายหรือคำตอบที่ไม่สร้างสรรค์ การบีบอัดที่ดีที่สุดอาจเป็นขนาดไฟล์ที่เล็กที่สุดการบีบอัดที่เร็วที่สุดพลังงานที่ใช้ในการบีบอัดน้อยที่สุด (เช่นบนแล็ปท็อป) มีผลกระทบต่อระบบน้อยที่สุดในขณะที่บีบอัด (เช่นโปรแกรม ของทั้งหมดเหล่านั้น
Hennes

บทความที่น่าสนใจในการอ่านคือtomshardware.com/reviews/winrar-winzip-7-zip-magicrar,3436.html (Windows based, และเพ่งความสนใจไปที่ 7zip, magicRAR, WinRAR และ WinZip มากกว่า xz, gz หรือ bz และการให้ข้อมูลพื้นฐาน)
Hennes

@Hennes - ฉันล้างโพสต์เพื่อแทนที่ที่ดีที่สุดกับสิ่งที่ฉันกำลังค้นคว้า นอกจากนี้ขอขอบคุณสำหรับบทความที่คุณพูดถึงฉันจะอ่านในภายหลังวันนี้
Nathan2055

คำตอบ:


15

ในการทดสอบความเครียดของฉันฉันบีบอัดข้อมูล 464 เมกะไบต์โดยใช้รูปแบบสามรายการ Gzip ส่งคืนไฟล์ 364 MB Bzip2 ส่งคืนไฟล์ 315 MB Xz ส่งคืนไฟล์ 254 MB ฉันทำการทดสอบความเร็วอย่างง่ายด้วย:

การบีบอัด:

1: Gzip

2: Xz

3: Bzip2 (แฟนของฉันกำลังเป่าไปนิดหน่อยในขณะที่มันกำลังเกิดขึ้นแสดงว่า Athlon II ของฉันค่อนข้างเครียด)

การบีบอัด:

1: Xz

2: Gzip

3: Bzip2

โปรดทราบว่าการทดสอบทั้งหมดนี้ทำด้วย 7-Zip เวอร์ชันล่าสุด

Xz เป็นรูปแบบที่ดีที่สุดสำหรับการบีบอัดที่โค้งมนในขณะที่ Gzip นั้นดีมากสำหรับความเร็ว Bzip2 เหมาะสมกับอัตราส่วนการบีบอัดแม้ว่า xz น่าจะถูกใช้แทน


2
การวิจัยที่ดี คุณได้ลองใช้ตัวเลือกระดับการบีบอัดต่างๆที่เสนอโดย (อย่างน้อย) bzip2 bzip2 -9 <file>หรือไม่?
Aaron Miller

@AaronMiller - ไม่มันเป็นไปได้ไหมที่จะใช้ผ่าน 7-Zip?
Nathan2055

ดูเหมือนว่าจะเป็นเช่นนั้น แต่ฉันไม่แน่ใจว่าจะมีขอบเขตเท่าใด : ดูdotnetperls.com/7-zip-examplesส่วน "Switch m"
Aaron Miller

7
จากความอยากรู้ไฟล์ทดสอบแบบไหนกันบ้าง?
GeminiDomino

โปรดทราบว่าประเภทข้อมูลที่แตกต่างกันจะส่งผลให้มีขนาดที่บีบอัดแตกต่างกัน ดูตัวอย่างที่นี่
Ploni

4

ฉันทำมาตรฐานของตัวเองในการติดตั้ง 1.1GB Linux อิมเมจ vmdk:

rar    =260MB   comp= 85s   decomp= 5s
7z(p7z)=269MB   comp= 98s   decomp=15s
tar.xz =288MB   comp=400s   decomp=30s
tar.bz2=382MB   comp= 91s   decomp=70s
tar.gz =421MB   comp=181s   decomp= 5s

ทุกระดับการบีบอัดสูงสุด, CPU Intel I7 3740QM, Memory 32GB 1600, ต้นทางและปลายทางบน RAM disk

โดยทั่วไปฉันใช้ rar หรือ 7z สำหรับการเก็บถาวรไฟล์ปกติเช่นเอกสาร
และสำหรับการเก็บถาวรไฟล์ระบบฉันใช้. tar.gz หรือ. tar.xz โดย file-roller หรือ tar พร้อมกับตัวเลือก -z หรือ -J พร้อมกับ --preserve เพื่อบีบอัดข้อมูลดั้งเดิมด้วย tar และสงวนสิทธิ์ (หรืออีกวิธีหนึ่งคือ. tar.7z หรือ . tar.rar สามารถใช้ได้)

อัปเดต: เนื่องจาก tar จะสงวนสิทธิ์ปกติเท่านั้นและไม่ใช่ ACLs ด้วยเช่นกันคุณต้องสำรองและคืนค่าสิทธิ์และ ACL ด้วยตนเองผ่านทาง getfacl และ sefacl ด้วยตนเองผ่านทาง getfacl ด้วยตนเองซึ่งน่าจะเป็นตัวเลือกที่ดีที่สุดสำหรับทั้งการเก็บถาวรไฟล์ สงวนสิทธิ์และ ACLs มีการตรวจสอบการทดสอบความสมบูรณ์และความสามารถในการเข้ารหัสข้อเสียเพียงอย่างเดียวคือ p7zip ไม่สามารถใช้ได้ทุกที่


นักเรียนอะไรคือตัวเลือกของ rar ทำไมไม่ลองlrzip โดย kolivasมันน่าจะใช้ได้ดีกับอิมเมจของดิสก์เสมือน
osgx

ฉันย้ายจาก RAR เป็น Git และ tarballs สำหรับไฟล์ข้อความและ btrfs สำหรับทุกอย่าง เหตุผลของฉันสำหรับการใช้ RAR ไม่ใช่ประสิทธิภาพฉันใช้เพราะคุณสมบัติเช่นบันทึกการกู้คืนการตรวจสอบระดับบิต 256 บิตแยกต่างหากสำหรับทุกไฟล์และ ...
Sudoer

3

ฉันคิดว่าบทความนี้ให้ผลลัพธ์ที่น่าสนใจมาก

http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO

รูปแบบที่มีประสิทธิภาพสูงสุดขนาดคือ xz และ lzma ซึ่งทั้งสองแบบผ่านพารามิเตอร์ -e

อัลกอริทึมที่เร็วที่สุดคือไกล lzop และ lz4 ซึ่งสามารถสร้างระดับการบีบอัดไม่ไกลจาก gzip ใน 1.3 วินาทีในขณะที่ gzip ใช้เวลา 8.1 วินาที อัตราส่วนการบีบอัดคือ 2.8 สำหรับ lz4 และ 3.7 สำหรับ gzip

นี่คือผลลัพธ์บางส่วนที่ฉันดึงมาจากบทความนี้:

  • Gzip: 8.1s @ 3.7

  • lz4: 1.3s @ 2.8

  • xz: 32.2s @ 5.43

  • xz -e: 6m40 @ 7.063

  • xz: 4m51s @ 7.063

ดังนั้นถ้าคุณต้องการความเร็วจริงๆ lz4 นั้นยอดเยี่ยมและยังคงอัตราส่วนการบีบอัด 2.8

หากคุณต้องการสำรองไบต์, xz ที่ระดับการบีบอัดสูงสุด (9) ทำงานได้ดีที่สุดสำหรับไฟล์ข้อความเช่นเคอร์เนลแหล่งที่มา อย่างไรก็ตามมันใช้เวลานานมากและใช้หน่วยความจำมาก

สิ่งที่ดีที่ต้องการลดผลกระทบต่อเวลาและพื้นที่ให้น้อยที่สุดคือ gzip นี่คือสิ่งที่ฉันจะใช้เพื่อทำสำเนาสำรองรายวันของสภาพแวดล้อมการผลิตด้วยตนเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.