OpenZL 0.2.0

OpenZL 0.2.0 OpenZL 0.2.0

Tom qab xya lub hlis ntawm kev txhim kho, version 0.2.0 ntawm lub moj khaum tau tso tawm. OpenZL, tsim los tsim cov ntaub ntawv compressors tsis muaj kev poob.

Lub moj khaum muaj ib lub tsev qiv ntawv hauv paus thiab cov cuab yeej rau kev tsim cov compressors tshwj xeeb piav qhia hauv hom lus SDDL.
Muaj ob kauj ruam los tsim ib lub compressor zoo tshwj xeeb:

  1. Kev tshuaj xyuas cov ntaub ntawv los rho tawm cov qauv.
  2. Siv cov compressors zoo backend uas siv cov qauv tsim los ua kom tau txais kev sib zog zoo.

OpenZL muab cov cuab yeej rau ob theem.

Qhov project no sau ua lus C thiab C++ thiab muab faib raws li daim ntawv tso cai BSD.

Kev hloov pauv loj

SDDL2

SDDL tau raug sau dua tshiab tag nrho los ntawm hauv av kom ua tiav nws lub hom phiaj tsim thawj. Thaum thawj qhov demo yog ib qho chaw ua haujlwm yooj yim, SDDL2 yog ib qho compiler puv ntoob: tus parser xa cov ntaub ntawv mus rau lub semantic analyzer, uas tig mus xa ib tsob ntoo syntax abstract (AST) mus rau lub optimizer, thiab lub optimizer tswj lub code generator, uas tsim virtual machine bytecode.

Qhov tshwm sim tseem ceeb yog kev txheeb xyuas tam sim ntawd. Thaum qhov chaw ntawm cov ntaub ntawv tuaj yeem txiav txim siab tag nrho los ntawm kev siv cov kev teeb tsa thiab cov kev hloov pauv ib leeg, lub cav dhia ncaj qha mus rau txhua qhov chaw yam tsis tau luam theej cov bytes dhau los, ua rau nkag mus tsis tas yuav luam theej thiab throughput ntawm ntau GB / s.

Cov lus nws tus kheej tau hloov zuj zus nrog nws cov cuab yeej. Tam sim no nws txhawb nqa thaum cov kab lus rau cov lus hais txog kev mob, cov ntaub ntawv teev cia thiab tsis qhia npe, nkag mus rau cov tswv cuab ntawm cov ntaub ntawv, thiab cov neeg ua haujlwm bitwise thiab logical.

Ntawm sab tsim tawm, cov kauj ruam tshuaj xyuas semantic tam sim no txheeb xyuas cov ntaub ntawv tsis tau txhais, hom mismatches, thiab arity yuam kev thaum lub sijhawm sau - nrog qhov chaw code - es tsis yog thaum lub sijhawm khiav, thiab VS Code extension rau syntax highlighting ntawm .sddl cov ntaub ntawv tau raug tso tawm.

LZ codec tshiab uas ua tiav hauv

Tam sim no OpenZL muaj nws tus kheej LZ codec, uas sawv cev ua ZL_GRAPH_LZ, nrog rau cov ntaub ntawv sib law liag hauv zli utility. Kev ua haujlwm ntawm codec tseem tab tom ua, nthuav nws cov yam ntxwv thiab txhim kho kev ua tau zoo thaum ua cov ntaub ntawv me me. Tam sim no, nws txhawb nqa kev ua haujlwm sib npaug rau zstd theem 1, nrog rau lub qhov rais compression 64 KB.

OpenZL tso cai rau txhua theem ntawm LZ pipeline kom rov tsim dua tshiab kom ceev. Nws cov qauv duab kuj tso cai rau kev sib koom ua ke entropy encoding theem, es tsis txhob siv ib qho pipeline uas zoo sib xws rau txhua qhov kev siv. Ntau theem tuaj yeem sib koom ua ke rau hauv ib qho kev ua haujlwm kom txhim kho qhov ceev ntawm kev ua tiav. Qhov no tso cai rau OpenZL kom ua tiav 10% compression sai dua thiab 70% decompression sai dua piv rau Zstandard theem 1 ntawm Silesia corpus. peb cov kev ntsuam xyuas:

Ntsuas DejNtsuas pivKev Ceev NkausKev Ceev Ntawm Kev Tshem Tawm
OpenZL LZ theem 12.74466 MB / s2288 MB / s
Zstd theem 1 nrog 64K qhov rai loj2.74419 MB / s1254 MB / s
Zstd theem 12.89424 MB / s1345 MB / s

Kev txhawb nqa rau cov ntaub ntawv nkag loj heev

zli tam sim no txhawb nqa kev ua cov ntaub ntawv loj heev (ob peb gigabytes loj). Ua ntej kev nias, cov ntaub ntawv no tam sim no tau faib ua tej daim me me uas tswj tau (kwv yees li 16 MB los ntawm lub neej ntawd), txwv kev siv lub cim xeeb, txhim kho qhov chaw nyob ntawm cov ntaub ntawv, thiab ua kom muaj kev ua tiav sib luag. SDDL2 siv cov yam ntxwv zoo sib xws thaum ua haujlwm nrog schema. Cov segmenters tshiab tau tsim lossis hloov kho tshiab hauv cov txheej txheem - rau CSV, Parquet, thiab cov ntaub ntawv tus qauv - thiab txhua tus segmenters tam sim no tuaj yeem ua ntu zus thiab teeb tsa tau, yog li qhov layout xaiv tuaj yeem txuag tau hauv compressor thiab rov siv dua tom qab.

Qhov no siv tau meej thaum lub sijhawm nias. Nco ntsoov tias cov kav dej kev cob qhia txawv thiab tseem tsis cuam tshuam, yog li nws tsis tau tsim los txais cov ntaub ntawv nkag loj heev ua cov ntaub ntawv cob qhia.

Kev txhim kho hauv online graph visualizer (sim)
Tus visualizer tam sim no lees paub cov cim qhia txog kev nias thiab kev tshem tawm txij thaum pib mus txog thaum xaus.

Lub vaj huam sib luag saib ua ntej ntawm cov kwj deg cia koj pom cov bytes tiag tiag ntws raws txhua ntug, thiab kev tswj hwm kev txiav kom txawm tias cov kwj deg loj yooj yim ua haujlwm nrog.

Lub vaj huam sib luag teeb tsa coj tag nrho cov kev xaiv tso saib ua ke hauv ib qho chaw, thiab cov khawm kub tag nrho - kev taw qhia kev taw qhia, kev txiav txim siab traversal, nthuav dav thiab collapsing, thiab kev xaiv node - tso cai rau koj ua haujlwm nrog lub cuab yeej yooj yim yam tsis muaj nas.

Cov kab cim tam sim no tau hloov kho dua tshiab, kev nias raws li block tau tso tawm kom raug, thiab zli thaum kawg tuaj yeem tsim nws cov kab cim siv cov chij tshiab --trace thiab --trace-streams-dir.

miscellanea

  • Muaj ntau cov codecs tau ntxiv rau hauv daim ntawv teev npe. Cov Partition thiab bitpack codecs tam sim no siv lub unified decoder. Lub floating-point bitsplit codec tam sim no suav nrog cov encoders thiab decoders tshwj xeeb rau fp16, fp32, fp64, thiab bf16 hom ntawv nrog kev ua kom nrawm tshwj xeeb. Kev faib tawm ntau yam (split_byrange), lub multiplexer ntev, lub sentinel codec, daim duab lz4, thiab cov haujlwm pabcuam me me xws li tryParseInt thiab splitByParam tau ntxiv lawm.
  • API tau raug kho kom zoo.
  • Kev kuaj fuzz zoo dua.
  • Txhim kho cov txheej txheem tsim thiab ntim khoom rau ntau lub platform.

Tau qhov twg los: linux.org.ru ua

Yuav txhim khu kev qha hosting rau cov chaw nrog DDoS tiv thaiv, VPS VDS servers 🔥 Yuav lub vev xaib hosting txhim khu kev qha nrog kev tiv thaiv DDoS, VPS VDS servers | ProHoster