invariantity kijkt naar de structuur in uw data voordat het kiest hoe die gecomprimeerd wordt. Verschillende data comprimeert verschillend, dus we meten per domein en publiceren de resultaten hieronder, inclusief het slechtste.
| Nr. | Datadomein | Gemeten resultaat | Opmerking |
|---|---|---|---|
| 01 | Gestructureerde data (JSON) | 16,8× | Volledige 912 MB GitHub Archive-dump, geen steekproef |
| 02 | Back-ups en versiegeschiedenis | 71,4× | Reeks van 20 back-up-versies, cross-file dedup |
| 03 | t.o.v. zstd, xz, bzip2, brotli (max-niveau) | 1 verlies (van 38) | 35 winsten, 2 gelijkspel elders; tot 2,20× scherper op het beste geval (Apache-logs). Het ene verlies is 0,76% op een object-bestand van 21 KB. |
| 04 | Documenten (PDF) | 3,8–6,1× | Varieert met hoeveel van de PDF al gecomprimeerde beelddata is |
| 05 | Logbestanden (Apache, HDFS, Linux, OpenSSH, Spark, Zookeeper, HealthApp) | 12,2–56,2× | 7 echte productie-logformaten uit de LogHub-benchmarkset |
| 06 | Reeds gecomprimeerde binaire media (JPEG, PNG) | ≈1,0× | De ondergrens. Gemeten op alle 24 Kodak-PNG's + 4 JPEG's. Op 10 van de 24 PNG's vindt een gespecialiseerde codec nog een kleine restwinst (0,04–0,85%) die deze versie niet nastreeft. |
Alle waarden zijn gemeten, niet geprojecteerd, per run gelogd. Rij 06 is het slechtste geval en staat er bewust op, inclusief waar die nu net iets tekortschiet.
| Bestand | Origineel | invariantity | Ratio | Beste van zstd/xz/bzip2/brotli |
|---|---|---|---|---|
| bib | 111.261 | 23.197 | 4,80× | 4,05× (bzip2) |
| book1 | 768.771 | 208.220 | 3,69× | 3,31× (bzip2) |
| book2 | 610.856 | 136.991 | 4,46× | 3,88× (bzip2) |
| geo | 102.400 | 48.220 | 2,12× | 1,94× (brotli) |
| news | 377.109 | 101.746 | 3,71× | 3,34× (brotli) |
| obj1 | 21.504 | 9.472 | 2,27× | 2,30× (brotli, verlies) |
| obj2 | 246.814 | 61.472 | 4,01× | 4,02× (xz, gelijkspel) |
| paper1 | 53.161 | 13.365 | 3,98× | 3,44× (brotli) |
| paper2 | 82.199 | 20.638 | 3,98× | 3,31× (brotli) |
| paper3 | 46.526 | 12.434 | 3,74× | 3,18× (brotli) |
| paper4 | 13.286 | 3.718 | 3,57× | 3,10× (brotli) |
| paper5 | 11.954 | 3.720 | 3,21× | 2,93× (brotli) |
| paper6 | 38.105 | 9.796 | 3,89× | 3,42× (brotli) |
| pic | 513.216 | 33.909 | 15,13× | 12,87× (xz) |
| progc | 39.611 | 10.038 | 3,95× | 3,41× (brotli) |
| progl | 71.646 | 12.171 | 5,89× | 5,12× (brotli) |
| progp | 49.379 | 8.665 | 5,70× | 5,00× (brotli) |
| trans | 93.695 | 13.672 | 6,85× | 6,08× (brotli) |
| Bestand | Origineel | invariantity | Ratio | Beste van zstd/xz/bzip2/brotli |
|---|---|---|---|---|
| alice29.txt | 152.089 | 36.262 | 4,19× | 3,52× (bzip2) |
| asyoulik.txt | 125.179 | 33.809 | 3,70× | 3,16× (bzip2) |
| cp.html | 24.603 | 6.313 | 3,90× | 3,57× (brotli) |
| fields.c | 11.150 | 2.295 | 4,86× | 4,10× (brotli) |
| grammar.lsp | 3.721 | 1.026 | 3,63× | 3,31× (brotli) |
| kennedy.xls (spreadsheet) | 1.029.744 | 26.706 | 38,56× | 19,85× (xz) |
| lcet10.txt | 426.754 | 92.164 | 4,63× | 3,96× (bzip2) |
| plrabn12.txt | 481.861 | 131.363 | 3,67× | 3,31× (bzip2) |
| ptt5 (faxscan) | 513.216 | 33.909 | 15,13× | 12,87× (xz) |
| sum | 38.240 | 9.516 | 4,02× | 4,02× (xz, gelijkspel) |
| xargs.1 | 4.227 | 1.324 | 3,19× | 2,89× (brotli) |
| Bestand | Origineel | invariantity | Ratio | Beste van zstd/xz/bzip2/brotli |
|---|---|---|---|---|
| reymont (Silesia-corpus, Poolse roman) | 6.627.202 | 1.085.999 | 6,10× | 5,32× (bzip2) |
| attention.pdf (openbaar arXiv-paper) | 2.215.244 | 584.284 | 3,79× | 2,15× (brotli) |
| Bestand | Origineel | invariantity | Ratio | Beste van zstd/xz/bzip2/brotli |
|---|---|---|---|---|
| Apache_2k.log | 171.239 | 3.046 | 56,22× | 25,54× (brotli) |
| OpenSSH_2k.log | 225.216 | 5.222 | 43,13× | 23,10× (xz) |
| Linux_2k.log | 216.485 | 6.728 | 32,18× | 21,62× (xz) |
| Spark_2k.log | 196.268 | 6.688 | 29,35× | 21,63× (xz) |
| HealthApp_2k.log | 187.456 | 7.388 | 25,37× | 15,49× (brotli) |
| Zookeeper_2k.log | 279.891 | 11.450 | 24,45× | 18,87× (bzip2) |
| HDFS_2k.log | 287.848 | 23.505 | 12,25× | 7,02× (brotli) |
| Bestand | Origineel | invariantity | Ratio | Beste van zstd/xz/bzip2/brotli |
|---|---|---|---|---|
| kodim01/05/12/18.jpg (4 JPEG's, gem.) | 161.864 gem. | 161.880 gem. | 1,00× | ≤1,00× (brotli, geen betekenisvol verschil) |
| 14 van de 24 PNG's (gem., geen betekenisvol verschil) | 621.477 gem. | 621.493 gem. | 1,00× | ≤1,00× (alleen 16-byte store-header) |
| kodim02.png | 617.995 | 618.011 | 1,00× | 1,00× (xz, 0,22% kleiner) |
| kodim04.png | 637.432 | 637.448 | 1,00× | 1,00× (xz, 0,28% kleiner) |
| kodim08.png | 788.470 | 788.486 | 1,00× | 1,01× (bzip2, 0,85% kleiner) |
| kodim09.png | 582.899 | 582.915 | 1,00× | 1,00× (xz, 0,22% kleiner) |
| kodim10.png | 593.463 | 593.479 | 1,00× | 1,00× (xz, 0,05% kleiner) |
| kodim15.png | 612.582 | 612.598 | 1,00× | 1,00× (xz, 0,04% kleiner) |
| kodim18.png | 780.947 | 780.963 | 1,00× | 1,01× (xz, 0,73% kleiner) |
| kodim19.png | 671.476 | 671.492 | 1,00× | 1,01× (xz, 0,80% kleiner) |
| kodim22.png | 701.970 | 701.986 | 1,00× | 1,00× (xz, 0,36% kleiner) |
| kodim24.png | 706.397 | 706.413 | 1,00× | 1,00× (xz, 0,17% kleiner) |
Zodra invariantity data herkent als al gecomprimeerd, slaat het die op zoals ze is in plaats van tijd te besteden aan verder comprimeren. Bij de 4 JPEG's en 14 van de 24 PNG's kost dat niets meer dan een 16-byte header. Bij de andere 10 PNG's vindt een algemene codec nog een kleine restwinst (0,04–0,85%) die deze versie niet nastreeft — we onderzoeken of een goedkope tweede controle het waard is.
Petabytes aan gebruikersbestanden en artefacten, meestal gestructureerd of repetitief. Over 38 echte bestanden op max-instellingen t.o.v. standalone zstd, xz, bzip2 en brotli won invariantity er 35 en speelde het 2 gelijk, met één verlies van 0,76% op één bestand — overstappen is dus zelden een nadeel, ook op bestanden die die tools al goed aankunnen.
Versiegeschiedenis is de meest redundante data die er is; daarom is het ons beste gemeten resultaat met 71,4× op een reeks van 20 back-up-versies. Langere retentie in dezelfde footprint, en restores verplaatsen minder data.
JSON-events zijn sterk gestructureerd, gemeten op 16,8× op een volledige dump van 912 MB, geen gunstige steekproef. Applicatielogs zijn nog repetitiever: tot 56,2× op echte Apache-logs. Goed comprimeren verlaagt zowel de opslag- als de egress-rekening, op elke plek waar de data staat of beweegt.
Op reeds gecomprimeerde binaire media zoals JPEG en PNG meet invariantity ongeveer 1,0×, over de standaard Kodak-referentieset (24 PNG's, 4 JPEG's). Dat is de eerlijke ondergrens, en die staat op deze pagina omdat een benchmarktabel zonder slechtste geval een advertentie is, geen meting — inclusief het deel waar op 10 van die 24 PNG's een algemene codec nog een kleine restwinst vindt (tot 0,85%) die onze huidige versie niet nastreeft. PDF’s bleken hier niet bij te horen: twee echte documenten die we testten kwamen op 3,8× en 6,1× uit, omdat de eigen structuur van een PDF veel meer varieert dan bij een al-DCT-gecomprimeerde afbeelding. Als uw data grotendeels echt al-gecomprimeerde pixels is, zeggen we dat de winst bescheiden is voordat u een dag aan integratie besteedt.
zstd en xz zijn uitstekende algemene compressors en dat ontkennen we niet. invariantity verschilt op één punt dat we kunnen noemen zonder de methode prijs te geven: het kijkt naar de structuur in uw data voordat het kiest hoe te comprimeren, en toetst die keuze vervolgens alsnog aan zstd, xz, bzip2 en brotli op hun eigen maximale instellingen. Over 38 zo geteste echte bestanden won het er 35 duidelijk, speelde het er 2 gelijk en verloor het er 1 (een verschil van 0,76% op een object-bestand van 21 KB) — tot 2,20× scherper dan het beste alternatief op het beste geval. Een volledige methodologie verschijnt met de evaluatieversie, zodat u de vergelijking op uw eigen data kunt reproduceren.
Nu niet. De kern is proprietary. We plannen een publieke evaluatieversie zodat u deze cijfers op uw eigen data kunt verifiëren voordat u zich ergens aan verbindt; dat vinden wij belangrijker dan onze broncode lezen.
Op echt al-gecomprimeerde binaire media zoals JPEG en PNG haalt u ongeveer 1,0×, de ondergrens in de tabel hierboven (op 10 van de 24 PNG-referentiebeelden vindt een gespecialiseerde codec nog een kleine restwinst van 0,04–0,85% die onze huidige versie niet nastreeft). PDF's zijn een gedeeltelijke uitzondering, want die dragen vaak hun eigen comprimeerbare structuur: twee echte PDF's die we testten kwamen op 3,8× en 6,1× uit. Bestaat uw data vooral uit al-gecomprimeerde pixels in plaats van documenten, dan rechtvaardigt de omvangswinst alleen waarschijnlijk geen migratie, en dat zeggen we als u vertelt wat u opslaat.
We zijn pre-launch. Private pilots komen eerst, geprioriteerd op datatype, omdat de winst afhangt van wat u opslaat. Laat hieronder uw gegevens achter en vertel hoe uw data eruitziet; dat is echt de snelste route naar binnen.
We antwoorden met wat de gemeten cijfers zeggen over uw datatype, ook als het antwoord is dat de winst bescheiden zou zijn. Er volgt geen drip-campagne.