Testo puro
Su enwik8 zpaq, bsc e PPMd stanno davanti (19,63 %, 20,80 % e 21,41 % contro 21,975 %); su Silesia e sui documenti pubblici davanti resta il solo zpaq, di 1,3 e 1,1 punti, e su Silesia gli serve il doppio del tempo di TSR.
Numeri
Ogni rapporto è la dimensione dell’archivio in percentuale dell’originale: più basso è meglio. La dimensione di un archivio TSR dipende solo dai file e dal profilo, quindi una corsa basta, e ripetuta su un’altra macchina dà gli stessi byte. I rivali sono misurati al loro meglio, e i piazzamenti si dichiarano anche quando TSR non è primo.
Insiemi di file pubblici che chiunque può scaricare, compressi da TSR al profilo massimo e da dieci strumenti ai loro livelli massimi, sulla stessa macchina.
| Corpus | TSR | Miglior rivale | Piazzamento |
|---|---|---|---|
| Documenti d’ufficio (1.322 file, 199,5 MB) | 47,888 % | zpaq 51,98 % | primo su dieci |
| Documenti pubblici (Govdocs1, 980 file) | 48,598 % | zpaq 47,51 % | secondo |
| Silesia (211,9 MB) | 20,124 % | zpaq 18,81 % | secondo |
| enwik8 (100 MB di testo) | 21,975 % | zpaq 19,63 % | quarto, dietro zpaq, bsc e PPMd |
| Grafica PNG (11.356 file già ottimizzati) | 53,373 % | zpaq 52,84 % | terzo |
| Sorgenti (13.663 file piccoli, in un tar) | 14,311 % | — | 16,555 % sulla somma dei file |
| Galleria JPEG (5 fotografie) | 81,840 % | generici ≈ 100 % | −18,2 %; uno specialista circa −22 % |
La frase che questi numeri sostengono: TSR è primo sui file che contengono già compressione, e batte 7-Zip, xz, zstd, brotli e bzip2 su testo, dati misti e documenti. Sul testo puro zpaq, bsc e PPMd stanno davanti.
Cento megabyte di testo, il corpus su cui si confrontano i compressori più forti. TSR lavora su blocchi indipendenti, uno per core: al massimo impiega 19 secondi su tutti i core del Mac, dove zpaq ne impiega 106 su un core solo e 7-Zip 41.
enwik8, dal più piccolo
Quanto costa riaprire un archivio, e quanta memoria serve. I compressori a contesti mescolati (TSR al massimo, PPMd, zpaq) sono simmetrici: per estrarre ricostruiscono lo stesso modello, quindi impiegano più o meno il tempo e la memoria della compressione. Quelli a dizionario, come 7-Zip, xz e zstd, estraggono in una frazione di secondo con poca memoria, e il profilo bilanciato di TSR fa lo stesso.
| Strumento | Rapporto | Compressione | Memoria | Estrazione | Memoria |
|---|---|---|---|---|---|
| zpaq -m5 | 19,63 % | 106,4 s | 1.381 MiB | 110,6 s | 1.355 MiB |
| bsc -b100 -e2 | 20,80 % | 1,2 s | 759 MiB | 0,68 s | 650 MiB |
| 7-Zip PPMd o32 | 21,41 % | 17,3 s | 2.052 MiB | 18,1 s | 2.052 MiB |
| TSR massimo | 21,975 % | 12,1 s | 763 MiB | 8,3 s | 662 MiB |
| 7-Zip -mx9 | 24,80 % | 41,1 s | 994 MiB | 0,49 s | 123 MiB |
| xz -9e | 24,83 % | 53,3 s | 792 MiB | 0,64 s | 184 MiB |
| zstd --ultra -22 | 25,27 % | 52,8 s | 830 MiB | 0,09 s | 100 MiB |
| brotli -q11 | 25,74 % | 120,3 s | 364 MiB | 0,16 s | 19 MiB |
| TSR bilanciato | 28,986 % | 1,9 s | 784 MiB | 0,16 s | 133 MiB |
| bzip2 -9 | 29,01 % | 3,9 s | 7 MiB | 1,6 s | 4 MiB |
| TSR veloce | 35,671 % | 0,18 s | 179 MiB | 0,05 s | 144 MiB |
Il grafico qui sopra è dell’8 settembre, con 19 s di compressione al massimo; in questa misura la stessa compressione ha impiegato 12,1 s, con lo stesso rapporto.
La memoria di TSR cresce coi blocchi che lavorano insieme, uno per core, fino a quanti blocchi ha il file. Senza indicazioni il tetto è una stima fatta sui core; con --ram diventa un contratto, rispettato pagando in tempo. L’archivio resta lo stesso, byte per byte, a ogni tetto.
Nove cartelle che somigliano a quelle di una persona, da 3 a 12 GB l’una, costruite da fonti pubbliche con una licenza per file: 44,9 GiB e 195.753 file in tutto, misurati su quattro macchine. Qui il Mac con la scheda grafica spenta: TSR con la mediana di tre giri, gli altri a un giro al loro meglio.
| Persona | TSR | zip -9 | 7-Zip -mx9 | zstd -19 --long | xz -9 |
|---|---|---|---|---|---|
| Medico | 34,71 | 67,32 | 46,62 | 45,47 | 57,10 |
| Famiglia | 83,76 | 98,02 | 97,41 | 97,57 | 97,63 |
| Creativo | 69,51 | 84,44 | 79,61 | 80,75 | 79,92 |
| Studente | 69,39 | 80,35 | 74,71 | 75,07 | 75,19 |
| Legale | 61,91 | 69,98 | 62,07 | 62,76 | 62,50 |
| Videomaker | 97,18 | 99,45 | 98,68 | 98,81 | 98,77 |
| Ufficio | 52,73 | 61,11 | 51,02 | 51,52 | 51,41 |
| Tecnico IT | 54,51 | 57,15 | 51,57 | 51,76 | 54,51 |
| Sviluppatore | 43,84 | 52,71 | 36,80 | 38,47 | 39,11 |
TSR è primo dove lavorano i filtri (immagini mediche, JPEG del telefono, PNG, PDF), con margini da 5 a 13,7 punti sul migliore degli altri. Sta dietro 7-Zip in modalità solida dove i file sono tanti e piccoli, come per lo sviluppatore e l’ufficio, perché comprime dentro i blocchi di un file e mai attraverso i file. Il profilo bilanciato fa sempre un archivio più piccolo di zip -9; il veloce finisce sempre prima di 7-Zip al livello 5, da 3 a 38 volte.
Chi elenca soltanto i propri vantaggi costringe il lettore a scoprire il resto da solo. Qui c’è il resto, con i numeri.
Su enwik8 zpaq, bsc e PPMd stanno davanti (19,63 %, 20,80 % e 21,41 % contro 21,975 %); su Silesia e sui documenti pubblici davanti resta il solo zpaq, di 1,3 e 1,1 punti, e su Silesia gli serve il doppio del tempo di TSR.
Sugli alberi di sorgenti e di posta 7-Zip in modalità solida sta davanti di 2–7 punti. È il prezzo di un archivio che si apre in qualunque punto: TSR comprime dentro i blocchi di un file, mai attraverso i file.
MP3, AAC e foto già trattate: recupero dell’1–2 %. Film H.264: 2–3,7 %. Su una videoteca TSR vale per l’accesso diretto e per l’integrità.
Sui JPEG −18,2 %, contro circa −22 % di uno specialista del solo JPEG. Sui PNG già ottimizzati TSR è terzo.
Il profilo massimo impegna la macchina per decine di secondi ogni cento megabyte per core; sul Ryzen 9 5900X fa 4,0 MiB/s in tutto. Per questo il tempo lo scegli tu.
I certificati di Apple e di Microsoft sono attesi: fino ad allora i sistemi avvisano al primo avvio. Nessuna certificazione, per ora; le prove di terzi sono da commissionare.
7-Zip -mx9 e la variante PPMd (o32 mem2g), zpaq -m5, xz -9e, zstd --ultra -22, brotli -q11, bzip2 -9, bsc -b100 -e2.
Sugli scenari d’uso: zip -9, 7-Zip -mx9 e -mx5, zstd -19 --long=27, xz -9.
enwik8 (Large Text Compression Benchmark) e il Silesia Corpus si scaricano; i rivali si eseguono ai livelli massimi qui sopra. L’archivio di TSR ha una dimensione deterministica: una corsa basta.
tsr c enwik8.tsr enwik8 --max tsr gpu-check La beta 0.10.2 è gratuita fino al 31 gennaio 2027. Gli archivi che crei si aprono per sempre, anche dopo la fine della beta.