Nel manuale PHP c'è un commento su gzdeflate dicendo:PHP: gzdeflate è sicuro su più macchine?
gzcompress produce dati più lunghi perché incorpora le informazioni relative la codifica sulla corda. Se si stanno comprimendo dati che saranno gestiti solo su una macchina, non è necessario preoccuparsi di su quale di queste funzioni si utilizza. Tuttavia, se si passano dati compressi con queste funzioni su un altro computer, è necessario utilizzare gzcompress per utilizzare .
e poi
esecuzione 50000 ripetizioni vari contenuti, ho trovato che gzdeflate() e gzcompress() sia eseguita ugualmente veloci indipendentemente contenuti e livello di compressione, ma gzinflate() sempre era circa due volte più veloce di gzuncompress().
Per il mio scopo, sto archiviando i dati su una macchina per un utilizzo futuro. I dati vengono letti spesso, ma scritti solo una volta. In teoria, un giorno verrà spostato su un'altra macchina, se cambio server a un certo punto, ma sono passati alcuni anni.
È sicuro per me utilizzare gzdeflate e gzinflate anziché gzcompress e gzuncompress?
Il mio modo di pensare è il seguente: gzinflate è più veloce e questo aiuterà molto il server poiché ci saranno molte richieste di lettura. Se a un certo punto del futuro non riesco a leggere il file, dovrei essere in grado di capire come decomprimere il file e ricomprimerlo, giusto? Non è che il gzinflate semplicemente non funzionerà magicamente un giorno, come sembra dire il primo commento. Anche senza un header da 6 byte sono sicuro che sarà in qualche modo espandibile.
Pensieri?
UPDATE - Indice di riferimento
10.000 iterazioni ciascuno:
gzdeflate took 19.158888816833 seconds and size 18521
gzinflate took 1.4803981781006 seconds
gzcompress took 19.376484870911 seconds and size 18527
gzuncompress took 1.6339199542999 seconds
gzencode took 20.015944004059 seconds and size 18539
gzdecodetook 1.8822891712189 seconds
Grazie per la risposta. Questo mi aiuta molto. Si prega inoltre di postare la risposta sulla documentazione di php.net. – Alasdair