อัลกอริทึมการบีบอัดข้อมูลที่ได้รับความนิยมในปัจจุบันคือ Deflate ซึ่งใช้กับฟอร์แมตตระกูล zip, gzip, zlib กันมาช้านาน จุดเด่นของอัลกอริทึมนี้คือมีจุดสมดุลระหว่างความเร็วกับประสิทธิภาพในการบีบอัด อย่างไรก็ตาม อัลกอริทึมนี้อาจเริ่มล้าสมัยไปแล้วเมื่อเทียบกับยุคปัจจุบันที่ประสิทธิภาพของซีพียูดีขึ้นมาก ที่ผ่านมา มีคนพยายามสร้างอัลกอริทึมบีบอัดข้อมูลแบบใหม่ๆ แต่อัลกอริทึมเหล่านี้มีข้อจำกัดที่แตกต่างกัน เช่น lz4 เน้นความเร็วแต่บีบอัดได้น้อย ในขณะที่ xz มีอัตราส่วนการบีบอัดมากแต่ทำงานช้า ล่าสุด Facebook พัฒนาอัลกอริทึมตัวใหม่ชื่อ Zstandard 1.0 (ตัวย่อ zstd) ที่ตอบโจทย์ทั้งสองทาง จุดเด่นของ Zstandard คือเหนือกว่าทั้งเรื่องอัตราการบีบอัดและความเร็ว ถ้าเลือกอัตราส่วนการบีบอัดของ zstd ให้ใกล้เคียงกับ zlib/gzip จะมีความเร็วในการบีบอัด (ทั้งฝั่งบีบอัด compress และฝั่งคลาย decompress) ดีกว่ากันมาก เฉลี่ยแล้วประมาณ 3-5 เท่าตามแต่ละกรณี ถ้าเลือกความเร็วการบีบอัดเท่ากัน zstd จะได้ขนาดไฟล์เล็กกว่า 10-15% ความเร็วฝั่งการขยายไฟล์ (decompress) เพิ่มขึ้นจาก zlib ถึง 2 เท่า ที่ทุกระดับการบีบอัด และบางครั้งอาจทำได้สูงถึง 3 เท่า จุดเด่นอีกอย่างของ zstd คือระดับ (level) ของการบีบอัด เพื่อให้ผู้ใช้งานเลือกได้ว่าจะเน้นความเร็วหรือเน้นขนาด อัลกอริทึมตัวเก่าอย่าง zlib มีให้เลือก 9 ระดับ ในขณะที่ zstd มีให้เลือกถึง 22 ระดับ รองรับงานได้หลากหลายกว่า zstd เป็น "อัลกอริทึม" ที่สามารถนำไปใช้ได้หลากหลาย ตอนนี้ Facebook เปิดซอร์สโค้ดตัวไลบรารีในภาษา C ไว้บน GitHub ใครสนใจก็ลองไปดาวน์โหลดมาเล่นกันได้ ถ้า zstd ไปได้สวย อนาคตเราคงเริ่มเห็นการใช้งานในรูปแบบอื่นๆ กันต่อไป ตอนนี้เริ่มมีคนดัดแปลง 7-zip ให้ทำงานกับ Zstandard ได้แล้ว ที่มา - Zstandard, Facebook Code Topics: FacebookOpen SourceAlgorithm