Ukukhishwa kokuqala okuzinzile kwe-zlib-ng, imfoloko yokusebenza okuphezulu kwe-zlib

Ukukhishwa komtapo wezincwadi we-zlib-ng 2.0 kuyatholakala futhi kumakwe njengokukhululwa kokuqala okuzinzile kwephrojekthi (okulandelwa ukukhishwa kokulungisa okungu-2.0.1). I-Zlib-ng iyahambisana ne-zlib ezingeni le-API, kodwa inikeza ukulungiselelwa okwengeziwe okungamukeleki endaweni esemthethweni ye-zlib ngenxa yendlela elandelanayo yokwamukela izinguquko. Ukwengeza, i-API eyenziwe yakamuva iyahlongozwa, ngokusekelwe ku-zlib, kodwa ilungiswe ukuze kube lula ukuthuthwa. Ikhodi yephrojekthi ibhalwe ngo-C futhi isatshalaliswa ngaphansi kwelayisensi ye-Zlib.

Ukuhlolwa okwenziwa ezinhlelweni ze-x86_64 kubonise ukuthi lapho kwenziwa imisebenzi yokucindezela, i-Zlib-ng icishe ishesha izikhathi ezi-4 kune-zlib futhi ishesha izikhathi ezingu-2.1 kune-gzip. Uma i-decompress, i-Zlib-ng ishesha cishe izikhathi ezingu-2.4 kune-zlib futhi ishesha izikhathi ezingu-1.8 kune-gzip. Ukwenyuka okuphawulekayo kokusebenza kokucindezelwa/ukuwohloka kwafinyelelwa ikakhulukazi ngenxa yokusetshenziswa kwemiyalelo ye-vector SSE*, AVX2, VSX kanye ne-Neon.

Kubandakanya ukuqaliswa okungeziwe kwe-algorithm ye-Adler32 checksum, elungiselelwe kusetshenziswa imiyalelo ye-SSSE3, AVX2, Neon ne-VSX, ukuqaliswa kwe-CRC32-B okusekelwe ku-PCLMULQDQ ne-ACLE, amatafula e-hashi athuthukisiwe, ukuqaliswa kwe-Slide hashi okusekelwe ku-SSE2, AVX2, Neon kanye ne-VSX, Ukusebenza kokuqhathanisa ku-SSE4.2 kanye ne-AVX2. Ukwakheka kufaka phakathi izinguquko ezihloselwe ukuthuthukisa ukusebenza, ezisetshenziswa kumafoloko avela ku-Intel ne-Cloudflare. Inqubo yokusebenza ngamabhafa isithuthukisiwe. Usekelo olungeziwe lwezinhlelo zokwakha ze-CMake ne-NMake. Amasistimu okuhlanganiswa okuqhubekayo asetshenziselwa ukuhlola.

Ngokungeziwe ekwenziweni okuhle, i-Zlib-ng iphinde ihlanganise neziqephu eziqoqiwe kumaphakheji wokusabalalisa futhi ihlanze ikhodi kusuka emisebenzini esetshenziswa ku-zlib ukusekela abahlanganisi abadala namapulatifomu, kodwa okuvimbela ukuqaliswa kwezindlela ezisebenza kahle (ngokwesibonelo, imikhawulo edingekayo ukuze kusekelwe Amasistimu angu-16-bit kanye nezihlanganisi ezingezona eze-ANSI C). Kwenziwe umsebenzi ukuze kuhlonzwe futhi kulungiswe amaphutha akhonjwe abahlaziyi abamile, izinhlelo zokuhlola ezixakile, namathuluzi okuhlonza izinkinga lapho usebenza ngenkumbulo (AddressSanitizer and MemorySanitizer).

Source: opennet.ru

Engeza amazwana