د zlib-ng لومړی باثباته خوشې کول، د zlib لوړ فعالیت فورک

د zlib-ng 2.0 کتابتون خوشې کول شتون لري او د پروژې د لومړي باثباته خوشې کیدو په توګه په نښه شوی (وروسته د اصالحي خوشې کیدو 2.0.1 لخوا). Zlib-ng د API په کچه د zlib سره مطابقت لري، مګر اضافي اصلاحات وړاندې کوي چې د بدلونونو منلو لپاره د محافظه کار چلند له امله رسمي zlib ذخیره کې نه منل کیږي. برسیره پردې، یو عصري API وړاندیز شوی، د zlib پر بنسټ، مګر د پورټینګ ساده کولو لپاره تعدیل شوی. د پروژې کوډ په C کې لیکل شوی او د Zlib جواز لاندې ویشل شوی.

په x86_64 سیسټمونو کې ترسره شوي ازموینې وښودله چې کله د کمپریشن عملیات ترسره کوي، Zlib-ng د zlib په پرتله نږدې 4 ځله ګړندی او د gzip په پرتله 2.1 ځله ګړندی دی. کله چې ډیکمپریس کیږي، Zlib-ng د zlib په پرتله شاوخوا 2.4 ځله ګړندی او د gzip په پرتله 1.8 ځله ګړندی دی. د کمپریشن / ډیکمپریشن فعالیت کې د پام وړ زیاتوالی په عمده توګه د ویکتور لارښوونو SSE *، AVX2، VSX او Neon کارولو له امله ترلاسه شوی.

د Adler32 چیکسم الګوریتم اضافه پلي کولو په شمول، د SSSE3، AVX2، Neon او VSX لارښوونو په کارولو سره مطلوب، د CRC32-B پلي کول د PCLMULQDQ او ACLE پر بنسټ، د هش میزونو ښه کول، د SSE2، AVX2، Neon او VSXCos عملیات پر بنسټ د سلایډ هش پلي کول، په SSE4.2 او AVX2 کې. په ترکیب کې هغه بدلونونه هم شامل دي چې هدف یې د فعالیت ښه کول دي، د Intel او Cloudflare څخه په فورکونو کې کارول کیږي. د بفرونو سره د کار کولو پروسه غوره شوې. د CMake او NMake جوړونې سیسټمونو لپاره ملاتړ اضافه شوی. د دوامداره ادغام سیسټمونه د ازموینې لپاره کارول کیږي.

د اصلاح کولو سربیره، Zlib-ng کې هغه پیچونه هم شامل دي چې د توزیع کڅوړو کې راټول شوي او کوډ د زړو تالیف کونکو او پلیټ فارمونو مالتړ لپاره په zlib کې کارول شوي کاري حل څخه پاکوي، مګر کوم چې د ډیرو اغیزمنو میتودونو پلي کولو مخه نیسي (د بیلګې په توګه، د ملاتړ لپاره اړین محدودیتونه 16-bit سیسټمونه او غیر ANSI C کمپیلرونه). د جامد تحلیل کونکو ، فز کولو ازموینې سیسټمونو ، او د حافظې سره کار کولو پرمهال د ستونزو پیژندلو لپاره د وسیلو (Adress Sanitizer او Memory Sanitizer) لخوا پیژندل شوي غلطۍ پیژندلو او سمولو لپاره کار ترسره شوی.

سرچینه: opennet.ru

Add a comment