Facebook เปิดตัว Zstandard อัลกอริทึมบีบอัดข้อมูลที่เร็วกว่า Gzip 3-5 เท่า

Discussion in 'เทคโนโลยี' started by iPokz, Sep 12, 2016.

  1. iPokz

    iPokz ~" iPokz "~ Staff Member

    อัลกอริทึมการบีบอัดข้อมูลที่ได้รับความนิยมในปัจจุบันคือ Deflate ซึ่งใช้กับฟอร์แมตตระกูล zip, gzip, zlib กันมาช้านาน จุดเด่นของอัลกอริทึมนี้คือมีจุดสมดุลระหว่างความเร็วกับประสิทธิภาพในการบีบอัด อย่างไรก็ตาม อัลกอริทึมนี้อาจเริ่มล้าสมัยไปแล้วเมื่อเทียบกับยุคปัจจุบันที่ประสิทธิภาพของซีพียูดีขึ้นมาก

    ที่ผ่านมา มีคนพยายามสร้างอัลกอริทึมบีบอัดข้อมูลแบบใหม่ๆ แต่อัลกอริทึมเหล่านี้มีข้อจำกัดที่แตกต่างกัน เช่น lz4 เน้นความเร็วแต่บีบอัดได้น้อย ในขณะที่ xz มีอัตราส่วนการบีบอัดมากแต่ทำงานช้า

    ล่าสุด Facebook พัฒนาอัลกอริทึมตัวใหม่ชื่อ Zstandard 1.0 (ตัวย่อ zstd) ที่ตอบโจทย์ทั้งสองทาง

    [​IMG]

    จุดเด่นของ Zstandard คือเหนือกว่าทั้งเรื่องอัตราการบีบอัดและความเร็ว

    • ถ้าเลือกอัตราส่วนการบีบอัดของ zstd ให้ใกล้เคียงกับ zlib/gzip จะมีความเร็วในการบีบอัด (ทั้งฝั่งบีบอัด compress และฝั่งคลาย decompress) ดีกว่ากันมาก เฉลี่ยแล้วประมาณ 3-5 เท่าตามแต่ละกรณี
    • ถ้าเลือกความเร็วการบีบอัดเท่ากัน zstd จะได้ขนาดไฟล์เล็กกว่า 10-15%
    • ความเร็วฝั่งการขยายไฟล์ (decompress) เพิ่มขึ้นจาก zlib ถึง 2 เท่า ที่ทุกระดับการบีบอัด และบางครั้งอาจทำได้สูงถึง 3 เท่า

    [​IMG]

    จุดเด่นอีกอย่างของ zstd คือระดับ (level) ของการบีบอัด เพื่อให้ผู้ใช้งานเลือกได้ว่าจะเน้นความเร็วหรือเน้นขนาด อัลกอริทึมตัวเก่าอย่าง zlib มีให้เลือก 9 ระดับ ในขณะที่ zstd มีให้เลือกถึง 22 ระดับ รองรับงานได้หลากหลายกว่า

    [​IMG]

    zstd เป็น "อัลกอริทึม" ที่สามารถนำไปใช้ได้หลากหลาย ตอนนี้ Facebook เปิดซอร์สโค้ดตัวไลบรารีในภาษา C ไว้บน GitHub ใครสนใจก็ลองไปดาวน์โหลดมาเล่นกันได้ ถ้า zstd ไปได้สวย อนาคตเราคงเริ่มเห็นการใช้งานในรูปแบบอื่นๆ กันต่อไป ตอนนี้เริ่มมีคนดัดแปลง 7-zip ให้ทำงานกับ Zstandard ได้แล้ว

    ที่มา - Zstandard, Facebook Code

    Topics: FacebookOpen SourceAlgorithm
     

Share This Page