
نسخه 1.11 از الگوریتم فشردهسازی فوقسریع LZ4 منتشر شد. مهمترین تغییر این نسخه، افزودن پشتیبانی از فشردهسازی چندرشتهای (Multi-Threaded Compression) به کتابخانه liblz4 است؛ تغییری که میتواند عملکرد برنامههای متکی به این کتابخانه را روی پردازندههای چند هستهای (Multi-Core CPUs) بهبود دهد.
پشتیبانی چندرشتهای در سطح کتابخانه
در نسخه 1.10، پشتیبانی اولیه از چندرشتهایسازی به ابزار خط فرمان (Command Line Tool) lz4 اضافه شده بود. اکنون در LZ4 1.11 این قابلیت به کتابخانه liblz4 نیز وارد شده است تا برنامههایی که از این کتابخانه استفاده میکنند، بدون نیاز به پیادهسازی جداگانه، از مزایای پردازش موازی بهرهمند شوند.
کنترل تعداد رشتهها و محدودیت حافظه
یک فیلد جدید در liblz4 امکان کنترل تعداد کارگرها یا رشتهها (Workers/Threads) را فراهم میکند. همچنین ابزار خط فرمان lz4 اکنون گزینه --memory را در اختیار دارد تا فشردهسازی چندرشتهای را در یک بودجه حافظه (Memory Budget) مشخص نگه دارد.
نتایج آزمایشهای پروژه روی یک سرور AMD EPYC امیدوارکننده توصیف شده است. علاوه بر این، LZ4 1.11 نسبت به نسخه 1.10 بهبودهای عمومی عملکردی نیز به همراه دارد.
فهرست تغییرات کلیدی
- افزودن فشردهسازی چندرشتهای (Multi-Threaded Compression) به کتابخانه liblz4
- امکان تعیین تعداد کارگرها یا رشتهها (Workers/Threads) هنگام استفاده از liblz4
- افزودن گزینه --memory به ابزار خط فرمان lz4 برای مدیریت بودجه حافظه
- بهبودهای عمومی عملکرد نسبت به LZ4 1.10
علاقهمندان به جزئیات بیشتر درباره LZ4 1.11 میتوانند اطلاعات تکمیلی را در GitHub پروژه دنبال کنند.