Message posté par : cquest
----------------------------------------
Rien de tel qu'un petit bench pour confirmer (ou pas) l'intérêt du procédé et les
remarques de Shot2 à propos des blocs !
J'ai commencé avec une décompresion de la BDTopo SQL WGS84 qui fait 24Go en 7z (de et
sur SSD):
- normale : 31', environ 12Mo/s en lecture, 70Mo/s en écriture... et pas forcément en
même temps !
- parallélisée : 19'24s, pics en écriture à plus de 400Mo/s lors du plus fort
parallélisme (SSD SATA limitant, je continuerai sur un NVMe)
Les petits fichiers sont rapidement décompressés, les plus gros prennent du temps, du coup
il y a un maximum de gain lié au parallélisme au début.
L'idéal serait de lancer la décompression par taille de fichiers décroissante, pour
être sûr que démarrer au plus tôt ceux qui prendrons le plus de temps et c'est
d'autant plus valable qu'on n'a pas beaucoup de coeurs.
Pour faire ce tri, ajout d'un sed et d'un sort:
7z l archive.7z | grep ' \.\.\.\.A ' | sed 's/^.* \.\.\.\.A //' | sort -nr
| sed 's/^.* //' | parallel -j 8 7z x -bd archive.7z {}
14'20" temps divisé par 2.
Le gain est-il supérieur sur les orthos où les fichiers sont de tailles similaires ?
Donc deuxième test, sur l'ortho HR du 91 (un peu plus de 8Go en 7z)...
- normale : 8'41
- parallèlisée : 7'
Les blocs sont effectivement limitant... ils font 2Go, le réglage correspondant au niveau
de compression "normal" et donc les 200 dalles de cette ortho font que chaque
bloc sera décompressé en moyenne 40 fois, ce qui occupe les coeurs de mes CPU pour pas
grand chose.
Donc... j'ai recompressé ces orthos avec le niveau de compression "fast" qui
a des blocs de 128Mo
Première surprise : l'archive est plus petite (de 1%) !
Deuxième surprise à la décompression :
- normale : 1' (plus de 8x plus rapide)
- parallélisée : 5" <- oui 5 SECONDES = 100 fois plus rapide que la décompression
normale du 7z d'origine
CONCLUSION:
Merci d'avance aux empaqueteurs de données 7z de l'IGN de rajouter par exemple
l'option -mx=3 ou -ms=128m
Sur des données peu compressibles, on gagne marginalement en taille d'archive et
énormément en temps de décompression.
Sur des données très compressibles,
Une doc complète sur les multiples options de 7z :
https://documentation.help/7-Zip/method.htm
Encore un test en cours en recompressant la BDTopo avec -ms=128m
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=339231#p339231
Pour y répondre : donnees(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net