Vai al contenuto

Funzioni

Come funziona TSR

Tre idee reggono il programma: il tempo come unità della compressione, lo strato incomprimibile che si smonta e si rimette identico, un archivio che si usa mentre resta compresso. Ognuna ha la sua misura.

Prima idea

Il tempo come unità della compressione

I livelli da 1 a 9 degli archiviatori descrivono l’algoritmo: lo stesso livello dura un minuto su un computer e dieci su un altro, e lo spazio restituito si scopre alla fine. TSR ti chiede quanto tempo vuoi dedicare, e lo converte in spazio sulla tua macchina e sui tuoi file.

  1. Scansionel’albero, i metadati, i duplicati
  2. Calibrazione1–3 secondi, sui file veri
  3. Scelta del tempocinque livelli, o i secondi
  4. Pianoil metodo più forte che ci sta
  5. Compressionea blocchi, un core per blocco
  6. Indice e verificaimpronte per blocco e per file

Calibrare sui file veri

Prima di comprimere, TSR campiona i file del lotto per fasce di dimensione e per tipo, e su quei campioni misura velocità e rapporto di ogni metodo sulla macchina che sta lavorando. Poi prova i filtri sui file veri e stima i duplicati. Il tutto costa da 1 a 3 secondi.

Vince il metodo più forte che rientra nel tempo scelto. Prima di partire TSR mostra durata, spazio risparmiato e tempo di estrazione; a lavoro finito confronta la stima col risultato.

Le stime sono prudenti

Il risultato vero è quasi sempre migliore dell’annuncio. Sui due archivi ZIP di un utente la stima era di 12 secondi per 13 reali, e di 5,3 MB risparmiati per 5,27 MB; sul backup della posta il livello Medio ha dichiarato 21 secondi per 20. Il tempo di estrazione annunciato sta fra −2 % e +16 % di quello vero.

I cinque livelli sono multipli del tempo minimo della tua macchina sui tuoi file; un tempo scritto in secondi si prende alla lettera.
LivelloTempo
Velocissimo×1,1
Veloce×3
Medio×8
Lento×20
Molto lento×60

Per gli script e i servizi ci sono anche quattro profili fissi, senza calibrazione: --fast, --balanced, --backup e --max. Con un profilo fisso lo stesso input dà lo stesso archivio su ogni macchina.

Seconda idea

Comprime dove gli altri si fermano

PDF, documenti Office, PNG, JPEG, video e archivi gzip contengono già uno strato di compressione. Un archiviatore generico li vede come rumore e restituisce dal 96 al 99,5 % dell’originale. TSR smonta quello strato, comprime i dati veri e lo rimette al suo posto byte per byte, dopo aver dimostrato di saperlo fare.

Le dieci famiglie di file già compressi e la resa misurata di ognuna (white paper TSR-WHP-06, settembre 2026).
FamigliaResa misurata
JPEG−18,2 % sulle foto standard, −11,8 % sulle progressive; uno specialista del solo JPEG arriva a circa −22 %
gzip, zlib−32 % sulla massa dei gzip che si riproducono
ZIP, Office, JAR−43,5 % sui documenti Office moderni e sui JAR
PNG−22,9 % sui PNG classici; gli ottimizzati viaggiano com’erano
PDFDall’87–99 % al 50–79 % dell’originale, sui PDF scritti con la zlib standard
Video H.264 (MP4, MOV, MKV)2–3,7 % su film e riprese, dove gli altri valgono zero
Programmi (x86, ARM64)26,66 % contro il 28,22 % di xz
Audio PCM (WAV, AIFF, CAF)Sul PCM puro 11,73 % contro il 17,85 % di FLAC -8
Contenitori scritti con varianti−18,5 % sui contenitori che prima entravano intatti
Immagini grezze a 16 bitTomografie −3,63 %, risonanze −1,33 %; si ferma dove peggiorerebbe

Ogni file si ricostruisce prima

Il filtro si applica, il file si rimonta e si confronta byte per byte con l’originale: al primo byte diverso il file entra com’è.

Vince la strada più corta

Il file smontato e il file com’è si comprimono tutti e due, e si tiene il più piccolo, file per file. Un filtro può soltanto far scendere la dimensione dell’archivio.

L’incomprimibile si riconosce

Un campione di testa, quarti e coda di ogni blocco riconosce i dati già compressi o casuali prima di lavorarci: sui dati casuali il profilo massimo risparmia il 94 % del tempo.

Restano fuori, misurati: i file scritti con varianti proprie dell’algoritmo (alcuni PDF, gli stream cifrati, le immagini ottimizzate con zopfli o oxipng), i formati senza uno strato da smontare (MP3, AAC, JPEG 2000, WebP) e i dati davvero casuali o cifrati. Entrano tali e quali, e il resto del lotto guadagna comunque.

Terza idea

L’archivio si usa senza estrarre

TSR comprime a blocchi indipendenti, uno per core. Gli stessi blocchi aprono l’archivio a metà: si decomprime soltanto ciò che si tocca.

L’applicazione

Anteprima di testi e immagini, albero con ricerca, «Dove va lo spazio», estrazione dei soli file scelti, verifica e riparazione, senza estrarre l’archivio.

Un volume di rete

tsr serve espone l’archivio via HTTP e come volume WebDAV di sola lettura: si monta nel Finder o in Esplora risorse, e ogni applicazione apre i file normalmente.

Una cartella, su Linux

tsr mount monta l’archivio nel filesystem: grep, ffmpeg, un editor o una build aprono i file senza sapere che sono compressi, in 189 microsecondi a file.

Un film H.264 da 2,3 GB dentro un archivio si riproduce e si scorre con 252 MiB di memoria e un salto di 1,6 secondi: in VLC e in QuickTime il fotogramma corrisponde al punto scelto a ogni salto, e il file resta compresso per tutto il tempo.

Affidabilità

Torna identico, su ogni macchina

Gli stessi byte su tre architetture

Lo stesso input, con lo stesso profilo, produce lo stesso archivio su Apple Silicon, su x86-64 e su ARM64 di classe server, con l’acceleratore grafico acceso o spento. Chiunque lo verifica con un comando sulla propria macchina.

Integrità per blocco e per file

Ogni blocco porta l’impronta BLAKE3 del suo contenuto, e ogni file la sua: la verifica dice quale file è danneggiato e in quale blocco. tsr t --profonda ricostruisce anche i file smontati; tsr scrub fa la stessa verifica piano, si ferma e riprende da dove era, e si programma una volta alla settimana.

Il formato 1.0, congelato

Ogni archivio scritto da qualunque versione si legge con tutte le successive, per sempre. Il formato ha una specifica verificata da un lettore scritto soltanto da essa, e 49 archivi di prova letti da tre lettori indipendenti. Un lettore che trova qualcosa che non conosce lo dice, invece di restituire byte sbagliati.

Alla caduta di corrente

Il programma è stato interrotto di colpo 2.752 volte a istanti casuali mentre creava, estendeva e compattava archivi: zero archivi persi. Su un errore o un annullamento il disco resta com’era prima del lavoro.

Protezione

Cifratura e riparazione

Cifrato per intero, anche i nomi

Con una password l’archivio è cifrato con XChaCha20-Poly1305, indice compreso: nomi dei file, dimensioni, date e permessi restano segreti. La chiave nasce dalla password con Argon2id. La cifratura è per blocco, quindi anteprima, streaming e volume montato funzionano anche sugli archivi cifrati; nel caso peggiore misurato costa due centesimi di secondo e 4,2 KB su mezzo gigabyte.

Una password sbagliata e un archivio manomesso danno due errori diversi.

Si ripara senza la password

A richiesta l’archivio porta dall’1 al 30 % di parità Reed–Solomon: un danno entro la quota, sparso o contiguo, si ripara per intero in un file nuovo, e l’originale resta com’è. La parità copre i byte fisici, quindi chi custodisce un archivio cifrato può ripararlo senza poterlo leggere.

Misura di riferimento: 34 MB col 10 % di parità, 46 frammenti rovinati su 8.732 rimessi a posto in un decimo di secondo.

Backup

Il secondo backup costa quello che è cambiato

Un file identico a uno già presente diventa un riferimento, anche mesi dopo, quando l’archivio si estende; un blocco identico a uno già scritto si richiama invece di riscriversi. Col profilo di backup i blocchi si tagliano dove dice il contenuto, così un’inserzione in mezzo a un file non sposta tutto il resto.

Scenari da uno script deterministico, riproducibili da chiunque; luglio 2026. Contro un backup dedicato (restic), il profilo di backup risparmia fra il 97 e il 111 % di quanto risparmia lui.
ScenarioTSR7-Zip al massimo
Database SQLite da 408 MB, due versioni dopo dodici modifiche100,0 MB109,8 MB
Un registro che cresce in coda29,2 MB in 26,2 s35,3 MB in 136,8 s
Immagine disco modificata montandola247,1 MB427,6 MB
Cartella da 389,5 MB più il suo backup completo36,6 % (il secondo: 2.190 byte)74,8 %

Su che cosa gira

Tre sistemi

macOS su Apple Silicon, Windows 10 e 11 a 64 bit, Linux x86-64 e ARM64: un’applicazione grafica e una riga di comando, che leggono gli stessi archivi.

La scheda grafica, se c’è

Una parte del lavoro può girare sulla GPU (Metal, Vulkan): ogni risultato si verifica sulla CPU, e l’archivio resta identico al byte. Sul profilo bilanciato va da 1,4 a 2,9 volte più veloce; tsr gpu-check lo dimostra sulla tua macchina.

Anche sui server

Riga di comando con uscita JSON, servizio di streaming, demone con coda di lavori, libreria C, pacchetti .deb e .rpm, immagini per i contenitori.

TSR per le aziende

Tre comandi per cominciare

tsr c archivio.tsr cartella/ -t lento
Comprimi una cartella al livello Lento; -t 300 dedica 300 secondi.
tsr t archivio.tsr --profonda
Verifica tutto, ricostruendo anche i file smontati.
tsr serve archivio.tsr
Apri l’archivio come volume di rete, sulla sola interfaccia locale.

Provalo sui tuoi file

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.