A’ chiad sgaoileadh seasmhach de zlib-ng, forc àrd-choileanadh de zlib

Tha sgaoileadh leabharlann zlib-ng 2.0 ri fhaighinn agus tha e air a chomharrachadh mar a’ chiad fhoillseachadh seasmhach den phròiseact (air a leantainn le brath ceartachaidh 2.0.1). Tha Zlib-ng co-chòrdail ri zlib aig ìre API, ach tha e a’ toirt seachad optimizations a bharrachd nach eilear a’ gabhail a-steach don stòr oifigeil zlib air sgàth dòigh glèidhteachais airson gabhail ri atharrachaidhean. A bharrachd air an sin, thathas a’ moladh API ùr-nodha, stèidhichte air zlib, ach air atharrachadh gus portadh a dhèanamh nas sìmplidhe. Tha còd a’ phròiseict sgrìobhte ann an C agus air a chuairteachadh fo chead Zlib.

Sheall deuchainnean a chaidh a dhèanamh air siostaman x86_64, nuair a bha iad a’ coileanadh obair teannachaidh, gu bheil Zlib-ng timcheall air 4 tursan nas luaithe na zlib agus 2.1 uair nas luaithe na gzip. Nuair a bhios e a’ dì-dhùmhlachadh, tha Zlib-ng mu 2.4 uair nas luaithe na zlib agus 1.8 tursan nas luaithe na gzip. Chaidh àrdachadh mòr ann an coileanadh teannachaidh / dì-dhùmhlachadh a choileanadh sa mhòr-chuid mar thoradh air cleachdadh stiùiridhean vector SSE *, AVX2, VSX agus Neon.

A’ toirt a-steach buileachadh a bharrachd de algairim seic Adler32, air a bharrrachadh le bhith a’ cleachdadh stiùireadh SSSE3, AVX2, Neon agus VSX, buileachadh CRC32-B stèidhichte air PCLMULQDQ agus ACLE, clàran hash leasaichte, buileachadh hash sleamhnachaidh stèidhichte air SSE2, AVX2, Neon agus VSX , stèidhichte air gnìomhachd coimeas air SSE4.2 agus AVX2. Tha an sgrìobhadh cuideachd a’ toirt a-steach atharrachaidhean a tha ag amas air coileanadh a leasachadh, air an cleachdadh ann am forcaichean bho Intel agus Cloudflare. Tha am pròiseas a bhith ag obair le bufairean air a mheudachadh. Taic a bharrachd airson siostaman togail CMake agus NMake. Bithear a’ cleachdadh siostaman amalachaidh leantainneach airson deuchainn.

A bharrachd air optimizations, tha Zlib-ng cuideachd a’ toirt a-steach badan a tha air cruinneachadh ann am pasganan cuairteachaidh agus a’ glanadh a’ chòd bho na dòighean obrach a thathar a’ cleachdadh ann an zlib gus taic a thoirt do sheann cho-chruinneachaidhean agus àrd-ùrlaran, ach a chuireas casg air buileachadh dhòighean nas èifeachdaiche (mar eisimpleir, cuingeachaidhean a tha riatanach gus taic a thoirt Siostaman 16-bit agus luchd-cruinneachaidh neo-ANSI C). Chaidh obair a dhèanamh gus mearachdan a chomharrachadh agus a cheartachadh le sgrùdairean statach, siostaman deuchainn fuzzing, agus innealan airson duilgheadasan a chomharrachadh nuair a bhios iad ag obair le cuimhne (AddressSanitizer agus MemorySanitizer).

Source: fosgailtenet.ru

Cuir beachd ann