ค้นหาเว็บไซต์

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 โปรดดูบันทึกการเปลี่ยนแปลงฉบับเต็ม