LZ4 1.10 อัลกอริธึมการบีบอัดแบบไม่สูญเสีย ถูกปล่อยออกมาแล้ว
อัลกอริทึมการบีบอัด LZ4 1.10 ได้ถูกปล่อยออกมาพร้อมกับการประมวลผลหลายเธรด ทำให้ความเร็วในการบีบอัดเพิ่มขึ้นอย่างมากถึง 8 เท่า
LZ4 ซึ่งเป็นอัลกอริทึมการบีบอัดแบบโอเพนซอร์สที่ใช้งานได้หลายแพลตฟอร์มและเป็นที่รู้จักในเรื่องความเร็วและประสิทธิภาพ เพิ่งออกเวอร์ชัน 1.10
การอัปเดตล่าสุดนี้นำเสนอการปรับปรุงที่สำคัญ โดยเฉพาะการสนับสนุนมัลติทรีด ซึ่งใช้ประโยชน์จากโปรเซสเซอร์มัลติคอร์สมัยใหม่เพื่อเร่งความเร็วในการบีบอัดและการคลายการบีบอัดในสภาพแวดล้อมที่มีปริมาณงานสูง
สำหรับผู้ที่อาจไม่ทราบ LZ4 เป็นที่นิยมเป็นพิเศษเมื่อความเร็วมีความสำคัญมากกว่าการบีบอัดข้อมูล เช่น การสตรีมมิ่งหรือแอปพลิเคชันแบบเรียลไทม์
มีอะไรใหม่ใน LZ4 1.10
จนถึงตอนนี้ LZ4 ทำงานเป็นกระบวนการแบบเธรดเดียวเป็นหลัก อย่างไรก็ตาม การเปิดตัวเวอร์ชัน 1.10 ได้เปลี่ยนแปลงสิ่งนี้โดยสิ้นเชิง
LZ4 การประมวลผลหลายเธรด: ตัวเปลี่ยนเกม
คุณสมบัติเด่นของ LZ4 1.10 คือความสามารถในการประมวลผลแบบหลายเธรด โดยการอนุญาตให้หลายเธรดประมวลผลข้อมูลพร้อมกัน LZ4 สามารถลดเวลาที่ใช้ในการบีบอัดและคลายไฟล์ขนาดใหญ่ได้อย่างมาก
สิ่งนี้เป็นประโยชน์โดยเฉพาะเมื่อใช้โหมดการบีบอัดสูง ซึ่งโดยทั่วไปจะใช้ CPU มาก การทดสอบประสิทธิภาพล่าสุดแสดงให้เห็นการปรับปรุงอย่างชัดเจนในระบบปฏิบัติการต่างๆ:
- บน Windows 11 โดยใช้ CPU AMD 7840HS เวลาในการบีบอัดดีขึ้นจาก 13.4 วินาทีเหลือเพียง 1.8 วินาที—เร็วขึ้น 7.4 เท่า
- ผู้ใช้ macOS ที่มีชิป M1 Pro จะเห็นเวลาลดลงจาก 16.6 วินาทีเหลือ 2.55 วินาที ประสิทธิภาพเร็วขึ้น 6.5 เท่า
- สำหรับผู้ใช้ Linux บน i7-9700k เวลาในการบีบอัดลดลงจาก 16.2 วินาทีเหลือ 3.05 วินาที ทำให้ความเร็วเพิ่มขึ้น 5.4 เท่า
การปรับปรุงเหล่านี้ไม่ได้จำกัดเพียงแค่การบีบอัดเท่านั้น การคลายการบีบอัดก็ได้รับประโยชน์จากการใช้มัลติเธรดเช่นกัน แม้ว่าจะในระดับที่น้อยกว่า เนื่องจากไดรฟ์ NVMe สมัยใหม่ยังสามารถถูกใช้งานเต็มประสิทธิภาพด้วยเธรดเดียว
อย่างไรก็ตาม การที่การทำงานของ I/O ทับซ้อนกับกระบวนการคลายการบีบอัดยังช่วยเพิ่มประสิทธิภาพมากขึ้น
การบีบอัดพจนานุกรมแบบปรับปรุง
อีกหนึ่งการอัปเกรดที่สำคัญใน LZ4 1.10 คือการสนับสนุนอย่างเป็นทางการสำหรับการบีบอัดและคลี่ข้อมูลด้วยพจนานุกรม ซึ่งได้เปลี่ยนจากสถานะทดลองมาเป็นสนับสนุนเต็มรูปแบบแล้ว
สิ่งนี้ช่วยให้นักพัฒนาสามารถใช้ LZ4 ได้อย่างน่าเชื่อถือมากขึ้นในแอปพลิเคชันที่ได้รับประโยชน์จากเทคนิคการใช้พจนานุกรม เช่น การโอนข้อมูลขนาดเล็กที่การเริ่มต้นอาจเป็นคอขวด
ระดับการบีบอัดใหม่และการปรับปรุงอื่น ๆ
LZ4 1.10 แนะนำตัวเลือกการบีบอัดใหม่ "ระดับ 2" ซึ่งช่วยปรับสมดุลระหว่างประสิทธิภาพและอัตราการบีบอัด ให้เป็นโซลูชันที่เหมาะสมสำหรับแอปพลิเคชันหลายประเภท
นอกจากนี้ การอัปเดตยังรวมถึงการปรับปรุงหลายอย่าง เช่น การรองรับแพลตฟอร์มที่ดีขึ้น การจัดการข้อผิดพลาดที่ดีขึ้น และการกำหนดค่าที่ยืดหยุ่นมากขึ้นผ่านตัวแปรสภาพแวดล้อม
สุดท้าย การอัปเดตนี้รองรับสถาปัตยกรรมที่ไม่ค่อยเป็นที่รู้จัก เช่น LoongArch, RISC-V และอื่น ๆ ทำให้มั่นใจได้ว่า LZ4 สามารถใช้งานได้หลากหลายแพลตฟอร์ม
สำหรับการดูรายละเอียดทั้งหมดเกี่ยวกับความใหม่ใน LZ4 1.10 โปรดดูบันทึกการเปลี่ยนแปลงฉบับเต็ม
