Artifact
9bb2561a09ff57702c43839516e187df9ce7ab63:
Wiki page
[benchmarks (2019 update)] by
sandro
2019-02-06 12:30:41.
0000: 44 20 32 30 31 39 2d 30 32 2d 30 36 54 31 32 3a D 2019-02-06T12:
0010: 33 30 3a 34 31 2e 37 30 33 0a 4c 20 62 65 6e 63 30:41.703.L benc
0020: 68 6d 61 72 6b 73 5c 73 28 32 30 31 39 5c 73 75 hmarks\s(2019\su
0030: 70 64 61 74 65 29 0a 55 20 73 61 6e 64 72 6f 0a pdate).U sandro.
0040: 57 20 37 33 39 35 0a 42 61 63 6b 20 74 6f 20 3c W 7395.Back to <
0050: 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f a href="https://
0060: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
0070: 66 6f 73 73 69 6c 2f 6c 69 62 72 61 73 74 65 72 fossil/libraster
0080: 6c 69 74 65 32 2f 77 69 6b 69 3f 6e 61 6d 65 3d lite2/wiki?name=
0090: 72 61 73 74 65 72 6c 69 74 65 32 2d 64 6f 63 22 rasterlite2-doc"
00a0: 3e 52 61 73 74 65 72 4c 69 74 65 32 20 64 6f 63 >RasterLite2 doc
00b0: 20 69 6e 64 65 78 3c 2f 61 3e 3c 68 72 3e 3c 62 index</a><hr><b
00c0: 72 3e 0d 0a 3c 68 31 3e 52 61 73 74 65 72 4c 69 r>..<h1>RasterLi
00d0: 74 65 32 20 72 65 66 65 72 65 6e 63 65 20 42 65 te2 reference Be
00e0: 6e 63 68 6d 61 72 6b 73 20 28 32 30 31 39 20 75 nchmarks (2019 u
00f0: 70 64 61 74 65 29 3c 2f 68 31 3e 0d 0a 3c 68 32 pdate)</h1>..<h2
0100: 3e 49 6e 74 65 6e 64 65 64 20 73 63 6f 70 65 73 >Intended scopes
0110: 3c 2f 68 32 3e 0d 0a 49 6e 20 72 65 63 65 6e 74 </h2>..In recent
0120: 20 79 65 61 72 73 20 6e 65 77 20 61 6e 64 20 69 years new and i
0130: 6e 6e 6f 76 61 74 69 76 65 20 3c 61 20 68 72 65 nnovative <a hre
0140: 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 f="https://en.wi
0150: 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 kipedia.org/wiki
0160: 2f 4c 6f 73 73 6c 65 73 73 5f 63 6f 6d 70 72 65 /Lossless_compre
0170: 73 73 69 6f 6e 22 3e 6c 6f 73 73 6c 65 73 73 20 ssion">lossless
0180: 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6c 67 6f compression algo
0190: 72 69 74 68 6d 73 3c 2f 61 3e 20 68 61 76 65 20 rithms</a> have
01a0: 62 65 65 6e 20 64 65 76 65 6c 6f 70 65 64 2e 3c been developed.<
01b0: 62 72 3e 0d 0a 54 68 65 20 63 75 72 72 65 6e 74 br>..The current
01c0: 20 62 65 6e 63 68 6d 61 72 6b 20 69 73 20 69 6e benchmark is in
01d0: 74 65 6e 64 65 64 20 74 6f 20 63 68 65 63 6b 20 tended to check
01e0: 61 6e 64 20 76 65 72 69 66 79 20 62 79 20 70 72 and verify by pr
01f0: 61 63 74 69 63 61 6c 20 74 65 73 74 69 6e 67 20 actical testing
0200: 68 6f 77 20 74 68 65 73 65 20 6e 65 77 20 63 6f how these new co
0210: 6d 70 72 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 mpression method
0220: 73 20 64 6f 20 70 72 61 63 74 69 63 61 6c 6c 79 s do practically
0230: 20 70 65 72 66 6f 72 6d 20 75 6e 64 65 72 20 74 perform under t
0240: 68 65 20 6d 6f 73 74 20 75 73 75 61 6c 20 63 6f he most usual co
0250: 6e 64 69 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4d nditions.<br>..M
0260: 6f 72 65 20 73 70 65 63 69 66 69 63 61 6c 6c 79 ore specifically
0270: 2c 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 77 , a comparison w
0280: 69 6c 6c 20 62 65 20 6d 61 64 65 20 62 65 74 77 ill be made betw
0290: 65 65 6e 20 74 68 65 20 72 65 6c 61 74 69 76 65 een the relative
02a0: 20 70 65 72 66 6f 72 6d 61 6e 63 65 73 20 6f 66 performances of
02b0: 20 6e 65 77 20 61 6e 64 20 6f 6c 64 65 72 20 6c new and older l
02c0: 6f 73 73 6c 65 73 73 20 63 6f 6d 70 72 65 73 73 ossless compress
02d0: 69 6f 6e 20 6d 65 74 68 6f 64 73 2e 0d 0a 3c 68 ion methods...<h
02e0: 32 3e 54 68 65 20 63 6f 6e 74 65 6e 64 65 72 73 2>The contenders
02f0: 3c 2f 68 32 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f </h2>..The follo
0300: 77 69 6e 67 20 3c 62 3e 3c 69 3e 67 65 6e 65 72 wing <b><i>gener
0310: 61 6c 20 70 75 72 70 6f 73 65 3c 2f 69 3e 3c 2f al purpose</i></
0320: 62 3e 20 6c 6f 73 73 6c 65 73 73 20 63 6f 6d 70 b> lossless comp
0330: 72 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 73 20 ression methods
0340: 77 69 6c 6c 20 62 65 20 73 79 73 74 65 6d 61 74 will be systemat
0350: 69 63 61 6c 6c 79 20 63 6f 6d 70 61 72 65 64 3a ically compared:
0360: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 44 ..<ul>..<li><b>D
0370: 45 46 4c 41 54 45 3c 2f 62 3e 3a 20 28 61 6b 61 EFLATE</b>: (aka
0380: 20 3c 62 3e 5a 69 70 3c 2f 62 3e 29 3c 62 72 3e <b>Zip</b>)<br>
0390: 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 ..<a href="https
03a0: 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e ://en.wikipedia.
03b0: 6f 72 67 2f 77 69 6b 69 2f 44 45 46 4c 41 54 45 org/wiki/DEFLATE
03c0: 22 3e 54 68 69 73 3c 2f 61 3e 20 69 73 20 74 68 ">This</a> is th
03d0: 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20 61 e most classic a
03e0: 6e 64 20 61 6c 6d 6f 73 74 20 75 6e 69 76 65 72 nd almost univer
03f0: 73 61 6c 6c 79 20 61 64 6f 70 74 65 64 20 6c 6f sally adopted lo
0400: 73 73 6c 65 73 73 20 63 6f 6d 70 72 65 73 73 69 ssless compressi
0410: 6f 6e 20 6d 65 74 68 6f 64 2e 3c 62 72 3e 0d 0a on method.<br>..
0420: 49 74 20 77 61 73 20 69 6e 69 74 69 61 6c 6c 79 It was initially
0430: 20 69 6e 74 72 6f 64 75 63 65 64 20 61 62 6f 75 introduced abou
0440: 74 20 33 30 20 79 65 61 72 73 20 61 67 6f 20 28 t 30 years ago (
0450: 69 6e 20 3c 62 3e 31 39 39 31 3c 2f 62 3e 29 2c in <b>1991</b>),
0460: 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 61 73 so it can be as
0470: 73 75 6d 65 64 20 74 6f 20 62 65 20 74 68 65 20 sumed to be the
0480: 76 65 6e 65 72 61 62 6c 65 20 64 65 63 61 6e 65 venerable decane
0490: 20 6f 66 20 61 6c 6c 20 74 68 65 6d 2e 3c 2f 6c of all them.</l
04a0: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 5a 4d 41 3c i>..<li><b>LZMA<
04b0: 2f 62 3e 3a 20 28 61 6b 61 20 3c 62 3e 37 2d 5a /b>: (aka <b>7-Z
04c0: 69 70 3c 2f 62 3e 29 3c 62 72 3e 0d 0a 3c 61 20 ip</b>)<br>..<a
04d0: 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e href="https://en
04e0: 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 .wikipedia.org/w
04f0: 69 6b 69 2f 4c 65 6d 70 65 6c 25 45 32 25 38 30 iki/Lempel%E2%80
0500: 25 39 33 5a 69 76 25 45 32 25 38 30 25 39 33 4d %93Ziv%E2%80%93M
0510: 61 72 6b 6f 76 5f 63 68 61 69 6e 5f 61 6c 67 6f arkov_chain_algo
0520: 72 69 74 68 6d 22 3e 54 68 69 73 3c 2f 61 3e 20 rithm">This</a>
0530: 69 73 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 is a well known
0540: 61 6e 64 20 77 69 64 65 6c 79 20 61 64 6f 70 74 and widely adopt
0550: 65 64 20 6c 6f 73 73 6c 65 73 73 20 63 6f 6d 70 ed lossless comp
0560: 72 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 2e 3c ression method.<
0570: 62 72 3e 0d 0a 49 74 27 73 20 79 6f 75 6e 67 65 br>..It's younge
0580: 72 20 74 68 61 6e 20 44 45 46 4c 41 54 45 20 68 r than DEFLATE h
0590: 61 76 69 6e 67 20 62 65 65 6e 20 69 6e 74 72 6f aving been intro
05a0: 64 75 63 65 64 20 61 62 6f 75 74 20 32 30 20 79 duced about 20 y
05b0: 65 61 72 73 20 61 67 6f 20 28 69 6e 20 3c 62 3e ears ago (in <b>
05c0: 31 39 39 38 3c 2f 62 3e 29 2e 20 4c 5a 4d 41 20 1998</b>). LZMA
05d0: 69 73 20 61 6e 20 65 78 74 72 65 6d 69 73 74 20 is an extremist
05e0: 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f interpretation o
05f0: 66 20 6c 6f 61 73 73 6c 65 73 73 20 63 6f 6d 70 f loassless comp
0600: 72 65 73 73 69 6f 6e 2e 3c 62 72 3e 20 49 74 27 ression.<br> It'
0610: 73 20 75 73 75 61 6c 6c 79 20 61 62 6c 65 20 74 s usually able t
0620: 6f 20 61 63 68 69 65 76 65 20 72 65 61 6c 6c 79 o achieve really
0630: 20 69 6d 70 72 65 73 73 69 76 65 20 63 6f 6d 70 impressive comp
0640: 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 73 20 28 ression ratios (
0650: 62 79 20 66 61 72 20 62 65 74 74 65 72 20 74 68 by far better th
0660: 61 6e 20 44 45 46 4c 41 54 45 20 63 61 6e 20 64 an DEFLATE can d
0670: 6f 29 2c 20 62 75 74 20 61 74 20 74 68 65 20 63 o), but at the c
0680: 6f 73 74 20 6f 66 20 73 65 76 65 72 65 6c 79 20 ost of severely
0690: 73 61 63 72 69 66 79 63 69 6e 67 20 74 68 65 20 sacrifycing the
06a0: 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 compression spee
06b0: 64 3b 20 4c 5a 4d 41 20 63 61 6e 20 62 65 20 65 d; LZMA can be e
06c0: 61 73 69 6c 79 20 64 65 61 64 6c 79 20 73 6c 6f asily deadly slo
06d0: 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e w.</li>..<li><b>
06e0: 4c 5a 34 3c 2f 62 3e 3c 62 72 3e 0d 0a 3c 61 20 LZ4</b><br>..<a
06f0: 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e href="https://en
0700: 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 .wikipedia.org/w
0710: 69 6b 69 2f 4c 5a 34 5f 28 63 6f 6d 70 72 65 73 iki/LZ4_(compres
0720: 73 69 6f 6e 5f 61 6c 67 6f 72 69 74 68 6d 29 22 sion_algorithm)"
0730: 3e 54 68 69 73 3c 2f 61 3e 20 69 73 20 61 20 6d >This</a> is a m
0740: 6f 72 65 20 6d 6f 64 65 72 6e 20 61 6c 67 6f 72 ore modern algor
0750: 69 74 68 6d 20 68 61 76 69 6e 67 20 62 65 65 6e ithm having been
0760: 20 69 6e 74 72 6f 64 75 63 65 64 20 6c 65 73 73 introduced less
0770: 20 74 68 61 6e 20 31 30 20 79 65 61 72 73 20 61 than 10 years a
0780: 67 6f 20 28 69 6e 20 3c 62 3e 32 30 31 31 3c 2f go (in <b>2011</
0790: 62 3e 29 2c 20 73 6f 20 69 74 27 73 20 64 69 66 b>), so it's dif
07a0: 66 75 73 69 6f 6e 20 61 6e 64 20 61 64 6f 70 74 fusion and adopt
07b0: 69 6f 6e 20 69 73 20 73 74 69 6c 6c 20 72 61 74 ion is still rat
07c0: 68 65 72 20 6c 69 6d 69 74 65 64 2e 3c 62 72 3e her limited.<br>
07d0: 0d 0a 4c 5a 34 20 74 6f 6f 20 69 73 20 61 6e 20 ..LZ4 too is an
07e0: 65 78 74 72 65 6d 69 73 74 20 69 6e 74 65 72 70 extremist interp
07f0: 72 65 74 61 74 69 6f 6e 20 6f 66 20 6c 6f 73 73 retation of loss
0800: 6c 65 73 73 20 63 6f 6d 70 72 65 73 73 69 6f 6e less compression
0810: 2c 20 62 75 74 20 69 74 20 67 6f 65 73 20 65 78 , but it goes ex
0820: 61 63 74 65 6c 79 20 69 6e 20 74 68 65 20 6f 70 actely in the op
0830: 70 6f 73 69 74 65 20 64 69 72 65 63 74 69 6f 6e posite direction
0840: 20 6f 66 20 4c 5a 4d 41 2e 3c 62 72 3e 0d 0a 49 of LZMA.<br>..I
0850: 74 27 73 20 73 74 72 6f 6e 67 6c 79 20 6f 70 74 t's strongly opt
0860: 69 6d 69 7a 65 64 20 73 6f 20 74 6f 20 62 65 20 imized so to be
0870: 65 78 74 72 65 6d 65 6c 79 20 66 61 73 74 2c 20 extremely fast,
0880: 62 75 74 20 61 74 20 74 68 65 20 63 6f 73 74 20 but at the cost
0890: 6f 66 20 73 61 63 72 69 66 79 63 69 6e 67 20 74 of sacrifycing t
08a0: 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 he compression r
08b0: 61 74 69 6f 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 atios.</li>..<li
08c0: 3e 3c 62 3e 5a 53 54 44 3c 2f 62 3e 20 28 61 6b ><b>ZSTD</b> (ak
08d0: 61 20 3c 62 3e 5a 73 74 61 6e 64 61 72 64 3c 2f a <b>Zstandard</
08e0: 62 3e 29 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 66 b>)<br>..<a href
08f0: 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b ="https://en.wik
0900: 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f ipedia.org/wiki/
0910: 5a 73 74 61 6e 64 61 72 64 22 3e 54 68 69 73 3c Zstandard">This<
0920: 2f 61 3e 20 69 73 20 61 20 76 65 72 79 20 72 65 /a> is a very re
0930: 63 65 6e 74 6c 79 20 69 6e 74 72 6f 64 75 63 65 cently introduce
0940: 64 20 61 6c 67 6f 72 69 74 68 6d 20 28 3c 62 3e d algorithm (<b>
0950: 32 30 31 35 3c 2f 62 3e 29 2c 20 61 6e 64 20 69 2015</b>), and i
0960: 74 27 73 20 61 64 6f 70 74 69 6f 6e 20 69 73 20 t's adoption is
0970: 73 74 69 6c 6c 20 72 61 74 68 65 72 20 6c 69 6d still rather lim
0980: 69 74 65 64 2e 3c 62 72 3e 0d 0a 43 75 72 69 6f ited.<br>..Curio
0990: 73 6c 79 20 65 6e 6f 75 67 68 2c 20 62 6f 74 68 sly enough, both
09a0: 20 4c 5a 34 20 61 6e 64 20 5a 53 54 44 20 61 72 LZ4 and ZSTD ar
09b0: 65 20 64 65 76 65 6c 6f 70 65 64 20 61 6e 64 20 e developed and
09c0: 6d 61 69 6e 74 61 69 6e 65 64 20 62 79 20 74 68 maintained by th
09d0: 65 20 73 61 6d 65 20 61 75 74 68 6f 72 20 28 59 e same author (Y
09e0: 61 6e 6e 20 43 6f 6c 6c 65 74 29 2e 3c 62 72 3e ann Collet).<br>
09f0: 0d 0a 5a 53 54 44 20 69 73 20 61 20 77 65 6c 6c ..ZSTD is a well
0a00: 20 62 61 6c 65 6e 63 65 64 20 61 6c 67 6f 72 69 balenced algori
0a10: 74 68 6d 20 70 72 65 74 65 6e 64 69 6e 67 20 74 thm pretending t
0a20: 6f 20 62 65 20 61 20 6d 6f 73 74 20 6d 6f 64 65 o be a most mode
0a30: 72 6e 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 rn replacement f
0a40: 6f 72 20 44 45 46 4c 41 54 45 2c 20 62 65 69 6e or DEFLATE, bein
0a50: 67 20 61 62 6c 65 20 74 6f 20 62 65 20 66 61 73 g able to be fas
0a60: 74 65 72 20 61 6e 64 2f 6f 72 20 74 6f 20 61 63 ter and/or to ac
0a70: 68 69 65 76 65 20 62 65 74 74 65 72 20 63 6f 6d hieve better com
0a80: 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 73 2e pression ratios.
0a90: 3c 62 72 3e 0d 0a 4a 75 73 74 20 66 65 77 20 74 <br>..Just few t
0aa0: 65 63 68 6e 69 63 61 6c 20 64 65 74 61 69 6c 73 echnical details
0ab0: 20 61 62 6f 75 74 20 74 68 65 20 6d 6f 73 74 20 about the most
0ac0: 72 65 6c 65 76 61 6e 74 20 69 6e 6e 6f 76 61 74 relevant innovat
0ad0: 69 6f 6e 73 20 69 6e 74 72 6f 64 75 63 65 64 20 ions introduced
0ae0: 62 79 20 5a 53 54 44 3a 0d 0a 3c 75 6c 3e 0d 0a by ZSTD:..<ul>..
0af0: 3c 6c 69 3e 54 68 65 20 6f 6c 64 20 44 45 46 4c <li>The old DEFL
0b00: 41 54 45 20 77 61 73 20 64 65 73 69 67 6e 65 64 ATE was designed
0b10: 20 73 6f 20 74 6f 20 72 65 71 75 69 72 65 20 61 so to require a
0b20: 20 76 65 72 79 20 6c 69 6d 69 74 65 64 20 61 6d very limited am
0b30: 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 2c 20 ount of memory,
0b40: 61 6e 64 20 74 68 69 73 20 69 6d 70 61 69 72 65 and this impaire
0b50: 64 20 73 6f 6d 65 77 61 79 20 69 74 27 73 20 65 d someway it's e
0b60: 66 66 69 63 69 65 6e 63 79 2e 3c 62 72 3e 0d 0a fficiency.<br>..
0b70: 4d 6f 64 65 72 6e 20 48 57 20 63 61 6e 20 65 61 Modern HW can ea
0b80: 73 69 6c 79 20 73 75 70 70 6f 72 74 20 61 20 6c sily support a l
0b90: 6f 74 20 6f 66 20 6d 65 6d 6f 72 79 2c 20 73 6f ot of memory, so
0ba0: 20 5a 53 54 44 20 62 6f 72 72 6f 77 73 20 66 65 ZSTD borrows fe
0bb0: 77 20 69 64 65 61 73 20 66 72 6f 6d 20 4c 5a 4d w ideas from LZM
0bc0: 41 20 61 62 6f 75 74 20 61 20 6c 65 73 73 20 63 A about a less c
0bd0: 6f 6e 73 74 72 61 69 6e 65 64 20 61 6e 64 20 6d onstrained and m
0be0: 6f 72 65 20 65 66 66 69 63 69 65 6e 74 20 6d 65 ore efficient me
0bf0: 6d 6f 72 79 20 75 73 61 67 65 2e 3c 62 72 3e 0d mory usage.<br>.
0c00: 0a 4d 6f 72 65 20 73 70 65 63 69 66 69 63 61 6c .More specifical
0c10: 6c 79 2c 20 44 45 46 4c 41 54 45 20 69 73 20 62 ly, DEFLATE is b
0c20: 61 73 65 64 20 6f 6e 20 61 20 6d 6f 76 69 6e 67 ased on a moving
0c30: 20 64 61 74 61 20 77 69 6e 64 6f 77 20 6f 66 20 data window of
0c40: 6f 6e 6c 79 20 3c 62 3e 33 32 4b 42 3c 2f 62 3e only <b>32KB</b>
0c50: 3b 20 62 6f 74 68 20 4c 5a 4d 41 20 61 6e 64 20 ; both LZMA and
0c60: 5a 53 54 44 20 61 64 6f 70 74 20 61 20 6d 6f 72 ZSTD adopt a mor
0c70: 65 20 67 65 6e 65 72 6f 75 73 20 6d 6f 76 69 6e e generous movin
0c80: 67 20 77 69 6e 64 6f 77 20 6f 66 20 3c 62 3e 31 g window of <b>1
0c90: 4d 42 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c MB</b>.</li>..<l
0ca0: 69 3e 42 6f 74 68 20 44 45 46 4c 41 54 45 20 61 i>Both DEFLATE a
0cb0: 6e 64 20 5a 53 54 44 20 61 64 6f 70 74 73 20 74 nd ZSTD adopts t
0cc0: 68 65 20 63 6c 61 73 73 69 63 20 3c 61 20 68 72 he classic <a hr
0cd0: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 ef="https://en.w
0ce0: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b ikipedia.org/wik
0cf0: 69 2f 48 75 66 66 6d 61 6e 5f 63 6f 64 69 6e 67 i/Huffman_coding
0d00: 22 3e 48 75 66 66 6d 61 6e 20 63 6f 64 69 6e 67 ">Huffman coding
0d10: 3c 2f 61 3e 20 66 6f 72 20 72 65 64 75 63 69 6e </a> for reducin
0d20: 67 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f g the informatio
0d30: 6e 20 65 6e 74 72 6f 70 79 2e 3c 62 72 3e 0d 0a n entropy.<br>..
0d40: 42 75 74 20 5a 53 54 44 20 63 61 6e 20 61 6c 73 But ZSTD can als
0d50: 6f 20 73 75 70 70 6f 72 74 20 61 20 66 75 72 74 o support a furt
0d60: 68 65 72 20 61 64 76 61 6e 63 65 64 20 6d 65 63 her advanced mec
0d70: 68 61 6e 69 73 6d 20 62 61 73 65 64 20 6f 6e 20 hanism based on
0d80: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f <a href="https:/
0d90: 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 /en.wikipedia.or
0da0: 67 2f 77 69 6b 69 2f 41 73 79 6d 6d 65 74 72 69 g/wiki/Asymmetri
0db0: 63 5f 6e 75 6d 65 72 61 6c 5f 73 79 73 74 65 6d c_numeral_system
0dc0: 73 23 74 41 4e 53 22 3e 46 69 6e 69 74 65 20 53 s#tANS">Finite S
0dd0: 74 61 74 65 20 45 6e 74 72 6f 70 79 3c 2f 61 3e tate Entropy</a>
0de0: 2c 20 61 20 76 65 72 79 20 72 65 63 65 6e 74 20 , a very recent
0df0: 74 65 63 6e 69 71 75 65 20 62 65 69 6e 67 20 6d tecnique being m
0e00: 75 63 68 20 66 61 73 74 65 72 2e 3c 2f 6c 69 3e uch faster.</li>
0e10: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f ..</ul></li>..</
0e20: 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 57 68 65 6e 65 ul>..<br>..Whene
0e30: 76 65 72 20 70 6f 73 73 69 62 6c 65 20 61 6e 64 ver possible and
0e40: 20 61 70 70 72 6f 70 72 69 61 74 65 20 74 68 65 appropriate the
0e50: 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 6f 73 73 6c following lossl
0e60: 65 73 73 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 ess compression
0e70: 6d 65 74 68 6f 64 73 20 73 70 65 63 69 66 69 63 methods specific
0e80: 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 6f ally intended fo
0e90: 72 20 3c 62 3e 3c 69 3e 69 6d 61 67 65 73 20 2f r <b><i>images /
0ea0: 20 72 61 73 74 65 72 73 3c 2f 69 3e 3c 2f 62 3e rasters</i></b>
0eb0: 20 77 69 6c 6c 20 62 65 20 74 65 73 74 65 64 20 will be tested
0ec0: 61 73 20 77 65 6c 6c 3a 0d 0a 3c 75 6c 3e 0d 0a as well:..<ul>..
0ed0: 3c 6c 69 3e 3c 62 3e 50 4e 47 3c 2f 62 3e 3c 62 <li><b>PNG</b><b
0ee0: 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 r>..<a href="htt
0ef0: 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 ps://en.wikipedi
0f00: 61 2e 6f 72 67 2f 77 69 6b 69 2f 50 6f 72 74 61 a.org/wiki/Porta
0f10: 62 6c 65 5f 4e 65 74 77 6f 72 6b 5f 47 72 61 70 ble_Network_Grap
0f20: 68 69 63 73 22 3e 54 68 69 73 3c 2f 61 3e 20 69 hics">This</a> i
0f30: 73 20 61 20 76 65 72 79 20 70 6f 70 75 6c 61 72 s a very popular
0f40: 20 66 6f 72 6d 61 74 20 73 75 70 70 6f 72 74 69 format supporti
0f50: 6e 67 20 52 47 42 20 61 6e 64 20 47 72 61 79 73 ng RGB and Grays
0f60: 63 61 6c 65 20 69 6d 61 67 65 73 20 28 77 69 74 cale images (wit
0f70: 68 20 6f 72 20 77 69 74 68 6f 75 74 20 41 6c 70 h or without Alp
0f80: 68 61 20 74 72 61 6e 73 70 61 72 65 6e 63 69 65 ha transparencie
0f90: 73 29 2e 3c 62 72 3e 0d 0a 50 4e 47 20 66 75 6c s).<br>..PNG ful
0fa0: 6c 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 44 45 ly depends on DE
0fb0: 46 4c 41 54 45 20 66 6f 72 20 64 61 74 61 20 63 FLATE for data c
0fc0: 6f 6d 70 72 65 73 73 69 6f 6e 2e 3c 2f 6c 69 3e ompression.</li>
0fd0: 0d 0a 3c 6c 69 3e 3c 62 3e 43 68 61 72 4c 53 3c ..<li><b>CharLS<
0fe0: 2f 62 3e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 /b><br>..This is
0ff0: 20 61 6e 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 an image format
1000: 20 28 52 47 42 20 61 6e 64 20 47 72 61 79 73 63 (RGB and Graysc
1010: 61 6c 65 29 20 68 61 76 69 6e 67 20 61 20 6c 69 ale) having a li
1020: 6d 69 74 65 64 20 64 69 66 66 75 73 69 6f 6e 20 mited diffusion
1030: 62 75 74 20 72 61 74 68 65 72 20 70 6f 70 75 6c but rather popul
1040: 61 72 20 66 6f 72 20 73 74 6f 72 79 69 6e 67 20 ar for storying
1050: 6d 65 64 69 63 61 6c 20 69 6d 61 67 65 72 79 2e medical imagery.
1060: 3c 62 72 3e 0d 0a 43 68 61 72 4c 53 20 69 73 20 <br>..CharLS is
1070: 62 61 73 65 64 20 6f 6e 20 3c 61 20 68 72 65 66 based on <a href
1080: 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b ="https://en.wik
1090: 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f ipedia.org/wiki/
10a0: 4c 6f 73 73 6c 65 73 73 5f 4a 50 45 47 22 3e 4c Lossless_JPEG">L
10b0: 6f 73 73 6c 65 73 73 20 4a 50 45 47 3c 2f 61 3e ossless JPEG</a>
10c0: 2c 20 61 20 67 65 6e 75 69 6e 65 6c 79 20 6c 6f , a genuinely lo
10d0: 73 73 6c 65 73 73 20 69 6d 61 67 65 20 63 6f 6d ssless image com
10e0: 70 72 65 73 73 69 6f 6e 20 73 63 68 65 6d 61 0d pression schema.
10f0: 0a 6e 6f 74 20 74 6f 20 62 65 20 63 6f 6e 66 75 .not to be confu
1100: 73 65 64 20 77 69 74 68 20 70 6c 61 69 6e 20 4a sed with plain J
1110: 50 45 47 20 28 74 68 61 74 20 69 73 20 74 68 65 PEG (that is the
1120: 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20 65 78 most classic ex
1130: 61 6d 70 6c 65 20 6f 66 20 3c 61 20 68 72 65 66 ample of <a href
1140: 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b ="https://en.wik
1150: 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f ipedia.org/wiki/
1160: 4c 6f 73 73 79 5f 63 6f 6d 70 72 65 73 73 69 6f Lossy_compressio
1170: 6e 22 3e 6c 6f 73 73 79 20 63 6f 6d 70 72 65 73 n">lossy compres
1180: 73 69 6f 6e 3c 2f 61 3e 29 2e 3c 2f 6c 69 3e 0d sion</a>).</li>.
1190: 0a 3c 6c 69 3e 3c 62 3e 4a 70 65 67 32 30 30 30 .<li><b>Jpeg2000
11a0: 3c 2f 62 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 </b><br>..<a hre
11b0: 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 f="https://en.wi
11c0: 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 kipedia.org/wiki
11d0: 2f 4a 50 45 47 5f 32 30 30 30 22 3e 54 68 69 73 /JPEG_2000">This
11e0: 3c 2f 61 3e 20 69 73 20 69 6e 74 65 6e 64 65 64 </a> is intended
11f0: 20 74 6f 20 62 65 20 61 20 6d 6f 72 65 20 61 64 to be a more ad
1200: 76 61 6e 63 65 64 20 72 65 70 6c 61 63 65 6d 65 vanced replaceme
1210: 6e 74 20 66 6f 72 20 4a 50 45 47 2c 20 62 75 74 nt for JPEG, but
1220: 20 69 73 27 73 20 6e 6f 74 20 79 65 74 20 73 6f is's not yet so
1230: 20 77 69 64 65 6c 79 20 73 75 70 70 6f 72 74 65 widely supporte
1240: 64 20 61 73 20 69 74 73 20 61 6e 63 65 73 74 6f d as its ancesto
1250: 72 2e 3c 62 72 3e 0d 0a 4a 70 65 67 32 30 30 30 r.<br>..Jpeg2000
1260: 20 69 73 20 61 6e 20 69 6e 68 65 72 65 6e 74 6c is an inherentl
1270: 79 20 3c 62 3e 6c 6f 73 73 79 20 63 6f 6d 70 72 y <b>lossy compr
1280: 65 73 73 69 6f 6e 3c 2f 62 3e 2c 20 62 75 74 20 ession</b>, but
1290: 75 6e 64 65 72 20 73 70 65 63 69 61 6c 20 73 65 under special se
12a0: 74 74 69 6e 67 73 20 69 74 20 63 61 6e 20 65 66 ttings it can ef
12b0: 66 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 fectively suppor
12c0: 74 20 61 20 67 65 6e 75 69 6e 65 20 3c 62 3e 6c t a genuine <b>l
12d0: 6f 73 73 6c 65 73 73 20 63 6f 6d 70 72 65 73 73 ossless compress
12e0: 69 6f 6e 3c 2f 62 3e 20 6d 6f 64 65 2e 3c 2f 6c ion</b> mode.</l
12f0: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 57 65 62 50 3c i>..<li><b>WebP<
1300: 2f 62 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 66 /b><br>..<a href
1310: 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b ="https://en.wik
1320: 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f ipedia.org/wiki/
1330: 57 65 62 50 22 3e 54 68 69 73 3c 2f 61 3e 20 74 WebP">This</a> t
1340: 6f 6f 20 69 73 20 61 6e 20 69 6e 6e 6f 76 61 74 oo is an innovat
1350: 69 76 65 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 ive image format
1360: 20 70 72 65 74 65 6e 64 69 6e 67 20 74 6f 20 62 pretending to b
1370: 65 20 61 20 62 65 74 74 65 72 20 72 65 70 6c 61 e a better repla
1380: 63 65 6d 65 6e 74 65 20 66 6f 72 20 4a 50 45 47 cemente for JPEG
1390: 2e 3c 62 72 3e 0d 0a 57 65 62 50 20 69 6d 61 67 .<br>..WebP imag
13a0: 65 73 20 61 72 65 20 65 78 70 65 63 74 65 64 20 es are expected
13b0: 74 6f 20 73 75 70 70 6f 72 74 20 74 68 65 20 73 to support the s
13c0: 61 6d 65 20 76 69 73 75 61 6c 20 71 75 61 6c 69 ame visual quali
13d0: 74 79 20 6f 66 20 4a 50 45 47 20 62 75 74 20 72 ty of JPEG but r
13e0: 65 71 75 69 72 69 6e 67 20 61 20 73 69 67 6e 69 equiring a signi
13f0: 66 69 63 61 6e 74 6c 79 20 72 65 64 75 63 65 64 ficantly reduced
1400: 20 73 74 6f 72 61 67 65 20 73 70 61 63 65 2e 3c storage space.<
1410: 62 72 3e 0d 0a 45 78 61 63 74 65 6c 79 20 61 73 br>..Exactely as
1420: 20 4a 70 65 67 32 30 30 30 20 57 65 62 50 20 74 Jpeg2000 WebP t
1430: 6f 6f 20 69 73 20 61 6e 20 69 6e 68 65 72 65 6e oo is an inheren
1440: 74 6c 79 20 3c 62 3e 6c 6f 73 73 79 20 63 6f 6d tly <b>lossy com
1450: 70 72 65 73 73 69 6f 6e 3c 2f 62 3e 2c 20 62 75 pression</b>, bu
1460: 74 20 75 6e 64 65 72 20 73 70 65 63 69 61 6c 20 t under special
1470: 73 65 74 74 69 6e 67 73 20 69 74 20 63 61 6e 20 settings it can
1480: 65 66 66 65 63 74 69 76 65 6c 79 20 73 75 70 70 effectively supp
1490: 6f 72 74 20 61 20 67 65 6e 75 69 6e 65 20 3c 62 ort a genuine <b
14a0: 3e 6c 6f 73 73 6c 65 73 73 20 63 6f 6d 70 72 65 >lossless compre
14b0: 73 73 69 6f 6e 3c 2f 62 3e 20 6d 6f 64 65 2e 3c ssion</b> mode.<
14c0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 /li>..</ul>..<br
14d0: 3e 0d 0a 3c 68 72 3e 0d 0a 3c 68 31 3e 54 65 73 >..<hr>..<h1>Tes
14e0: 74 69 6e 67 20 67 65 6e 65 72 69 63 20 64 61 74 ting generic dat
14f0: 61 73 65 74 73 3c 2f 68 31 3e 0d 0a 57 65 27 6c asets</h1>..We'l
1500: 6c 20 73 74 61 72 74 20 66 69 72 73 74 20 62 79 l start first by
1510: 20 74 65 73 74 69 6e 67 20 73 65 76 65 72 61 6c testing several
1520: 20 67 65 6e 65 72 69 63 20 64 61 74 61 73 65 74 generic dataset
1530: 73 2c 20 73 6f 20 74 6f 20 73 74 72 65 73 73 20 s, so to stress
1540: 61 6c 6c 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 all compression
1550: 6d 65 74 68 6f 64 73 20 75 6e 64 65 72 20 74 68 methods under th
1560: 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 63 6f e most common co
1570: 6e 64 69 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 54 nditions.<br>..T
1580: 68 65 20 73 61 6d 65 20 64 61 74 61 73 65 74 20 he same dataset
1590: 77 69 6c 6c 20 62 65 20 63 6f 6d 70 72 65 73 73 will be compress
15a0: 65 64 20 61 6e 64 20 74 68 65 6e 20 64 65 63 6f ed and then deco
15b0: 6d 70 72 65 73 73 65 64 20 75 73 69 6e 67 20 65 mpressed using e
15c0: 61 63 68 20 6d 65 74 68 6f 64 2c 20 73 6f 20 74 ach method, so t
15d0: 6f 20 67 61 74 68 65 72 20 69 6e 66 6f 72 6d 61 o gather informa
15e0: 74 69 6f 6e 73 20 61 62 6f 75 74 3a 0d 0a 3c 75 tions about:..<u
15f0: 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 l>..<li>the <b>s
1600: 69 7a 65 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 ize</b> of the r
1610: 65 73 75 6c 74 69 6e 67 20 63 6f 6d 70 72 65 73 esulting compres
1620: 73 65 64 20 66 69 6c 65 2e 3c 62 72 3e 0d 0a 54 sed file.<br>..T
1630: 68 65 20 72 61 74 69 6f 20 62 65 74 77 65 65 6e he ratio between
1640: 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 the uncompresse
1650: 64 20 61 6e 64 20 63 6f 6d 70 72 65 73 73 65 64 d and compressed
1660: 20 73 69 7a 65 73 20 77 69 6c 6c 20 63 6f 72 72 sizes will corr
1670: 65 73 70 6f 6e 64 20 74 6f 20 74 68 65 20 3c 62 espond to the <b
1680: 3e 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 >compression rat
1690: 69 6f 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c io</b>.</li>..<l
16a0: 69 3e 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f 62 i>the <b>time</b
16b0: 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20 3c 62 > required to <b
16c0: 3e 63 6f 6d 70 72 65 73 73 3c 2f 62 3e 20 74 68 >compress</b> th
16d0: 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 73 e original datas
16e0: 65 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 et.</li>..<li>th
16f0: 65 20 3c 62 3e 74 69 6d 65 3c 2f 62 3e 20 72 65 e <b>time</b> re
1700: 71 75 69 72 65 64 20 74 6f 20 3c 62 3e 64 65 63 quired to <b>dec
1710: 6f 6d 70 72 65 73 73 3c 2f 62 3e 20 74 68 65 20 ompress</b> the
1720: 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 compressed file
1730: 73 6f 20 74 6f 20 72 65 63 6f 76 65 72 20 74 68 so to recover th
1740: 65 20 69 6e 69 74 69 61 6c 20 75 6e 63 6f 6d 70 e initial uncomp
1750: 72 65 73 73 65 64 20 64 61 74 61 73 65 74 2e 3c ressed dataset.<
1760: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 /li>..</ul>..<br
1770: 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3a 20 >..<b>Note</b>:
1780: 63 6f 6d 70 72 65 73 73 69 6e 67 20 69 73 20 61 compressing is a
1790: 20 6d 75 63 68 20 68 61 72 64 65 72 20 6f 70 65 much harder ope
17a0: 72 61 74 69 6f 6e 20 74 68 61 6e 20 64 65 63 6f ration than deco
17b0: 6d 70 72 65 73 73 69 6e 67 2c 20 61 6e 64 20 77 mpressing, and w
17c0: 69 6c 6c 20 61 6c 77 61 79 73 20 72 65 71 75 69 ill always requi
17d0: 72 65 20 6d 6f 72 65 20 74 69 6d 65 2e 3c 62 72 re more time.<br
17e0: 3e 0d 0a 54 68 65 20 73 70 65 65 64 20 64 69 66 >..The speed dif
17f0: 66 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 6e ferences between
1800: 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 6f 6d the various com
1810: 70 72 65 73 73 69 6f 6e 20 61 6c 67 6f 72 69 74 pression algorit
1820: 68 6d 73 20 77 69 6c 6c 20 62 65 20 73 74 72 6f hms will be stro
1830: 6e 67 20 61 6e 64 20 77 65 6c 6c 20 6d 61 72 6b ng and well mark
1840: 65 64 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 ed when compress
1850: 69 6e 67 2c 20 62 75 74 20 61 6c 73 6f 20 74 68 ing, but also th
1860: 65 20 64 69 66 66 65 72 65 6e 63 65 73 20 69 6e e differences in
1870: 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 decompression s
1880: 70 65 65 64 73 20 28 61 6c 74 68 6f 75 67 68 20 peeds (although
1890: 6c 65 73 73 20 69 6d 70 72 65 73 73 69 76 65 73 less impressives
18a0: 29 20 61 72 65 20 77 6f 72 74 68 20 74 6f 20 62 ) are worth to b
18b0: 65 20 63 61 72 65 66 75 6c 6c 79 20 65 76 61 6c e carefully eval
18c0: 75 61 74 65 64 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c uated...<ul>..<l
18d0: 69 3e 66 6f 72 20 61 6e 79 20 63 6f 6d 70 72 65 i>for any compre
18e0: 73 73 69 6f 6e 20 61 6c 67 6f 72 69 74 68 6d 20 ssion algorithm
18f0: 62 65 69 6e 67 20 73 6c 6f 77 20 28 6f 72 20 65 being slow (or e
1900: 76 65 6e 20 76 65 72 79 20 73 6c 6f 77 29 20 77 ven very slow) w
1910: 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 hen compressing
1920: 63 61 6e 20 62 65 20 65 61 73 69 6c 79 20 63 6f can be easily co
1930: 6e 73 69 64 65 72 65 64 20 61 20 74 72 69 76 69 nsidered a trivi
1940: 61 6c 20 61 6e 64 20 66 6f 72 67 69 76 61 62 6c al and forgivabl
1950: 65 20 69 73 73 75 65 2e 3c 62 72 3e 0d 0a 43 6f e issue.<br>..Co
1960: 6d 70 72 65 73 73 69 6f 6e 20 75 73 75 61 6c 6c mpression usuall
1970: 79 20 68 61 70 70 65 6e 73 20 6f 6e 6c 79 20 6f y happens only o
1980: 6e 63 65 20 69 6e 20 74 68 65 20 6c 69 66 65 74 nce in the lifet
1990: 69 6d 65 20 6f 66 20 61 20 63 6f 6d 70 72 65 73 ime of a compres
19a0: 73 65 64 20 64 61 74 61 73 65 74 2c 20 61 6e 64 sed dataset, and
19b0: 20 74 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 there are many
19c0: 77 61 79 73 20 66 6f 72 20 6d 69 6e 69 6d 69 7a ways for minimiz
19d0: 69 6e 67 20 74 68 65 20 61 64 76 65 72 73 65 20 ing the adverse
19e0: 65 66 66 65 63 74 73 20 6f 66 20 69 6e 74 72 69 effects of intri
19f0: 6e 73 69 63 20 73 6c 6f 77 6e 65 73 73 2e 3c 62 nsic slowness.<b
1a00: 72 3e 0d 0a 59 6f 75 20 63 6f 75 6c 64 20 65 2e r>..You could e.
1a10: 67 2e 20 63 6f 6d 70 72 65 73 73 20 79 6f 75 72 g. compress your
1a20: 20 66 69 6c 65 73 20 69 6e 20 62 61 74 63 68 20 files in batch
1a30: 6d 6f 64 65 2c 20 6d 61 79 20 62 65 20 64 75 72 mode, may be dur
1a40: 69 6e 67 20 6f 66 66 2d 70 65 61 63 6b 20 68 6f ing off-peack ho
1a50: 75 72 73 2c 20 61 6e 64 20 69 6e 20 73 75 63 68 urs, and in such
1a60: 20 61 20 73 63 65 6e 61 72 69 6f 20 72 65 61 63 a scenario reac
1a70: 68 69 6e 67 20 73 74 72 6f 6e 67 65 72 20 63 6f hing stronger co
1a80: 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 73 mpression ratios
1a90: 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 6a 75 could easily ju
1aa0: 73 74 69 66 79 20 61 20 6c 6f 6e 67 65 72 20 70 stify a longer p
1ab0: 72 6f 63 65 73 73 20 74 69 6d 65 2e 3c 62 72 3e rocess time.<br>
1ac0: 0d 0a 4f 72 20 61 6c 74 65 72 6e 61 74 69 76 65 ..Or alternative
1ad0: 6c 79 20 79 6f 75 20 63 6f 75 6c 64 20 65 6e 61 ly you could ena
1ae0: 62 6c 65 20 28 69 66 20 70 6f 73 73 69 62 6c 65 ble (if possible
1af0: 29 20 61 20 6d 75 6c 74 69 74 68 72 65 61 64 20 ) a multithread
1b00: 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 70 70 72 compression appr
1b10: 6f 61 63 68 20 28 70 61 72 61 6c 6c 65 6c 20 70 oach (parallel p
1b20: 72 6f 63 65 73 73 69 6e 67 29 2c 20 73 6f 20 74 rocessing), so t
1b30: 6f 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 20 o significantly
1b40: 72 65 64 75 63 65 20 74 68 65 20 72 65 71 75 69 reduce the requi
1b50: 72 65 64 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a red time.</li>..
1b60: 3c 6c 69 3e 62 65 69 6e 67 20 73 6c 6f 77 20 77 <li>being slow w
1b70: 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e hen decompressin
1b80: 67 20 69 73 20 61 20 6d 75 63 68 20 6d 6f 72 65 g is a much more
1b90: 20 73 65 72 69 6f 75 73 20 69 73 73 75 65 2c 20 serious issue,
1ba0: 62 65 63 61 75 73 65 20 64 65 63 6f 6d 70 72 65 because decompre
1bb0: 73 73 69 6f 6e 20 77 69 6c 6c 20 68 61 70 70 65 ssion will happe
1bc0: 6e 20 6d 6f 72 65 20 66 72 65 71 75 65 6e 74 6c n more frequentl
1bd0: 79 3b 20 76 65 72 79 20 66 72 65 71 75 65 6e 74 y; very frequent
1be0: 6c 79 20 69 6e 20 73 6f 6d 65 20 73 70 65 63 69 ly in some speci
1bf0: 66 69 63 20 73 63 65 6e 61 72 69 6f 2e 3c 62 72 fic scenario.<br
1c00: 3e 0d 0a 53 6f 20 61 20 63 65 72 74 61 69 6e 20 >..So a certain
1c10: 64 65 67 72 65 65 20 6f 66 20 73 6c 6f 77 6e 65 degree of slowne
1c20: 73 73 20 69 6e 20 64 65 63 6f 6d 70 72 65 73 73 ss in decompress
1c30: 69 6f 6e 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 ion could easily
1c40: 20 62 65 63 6f 6d 65 20 61 20 73 65 72 69 6f 75 become a seriou
1c50: 73 20 62 6f 74 74 6c 65 6e 65 63 6b 20 73 65 76 s bottleneck sev
1c60: 65 72 65 6c 79 20 6c 69 6d 69 74 69 6e 67 20 74 erely limiting t
1c70: 68 65 20 6f 76 65 72 61 6c 6c 20 70 65 72 66 6f he overall perfo
1c80: 72 6d 61 6e 63 65 73 20 6f 66 20 79 6f 75 72 20 rmances of your
1c90: 73 79 73 74 65 6d 2e 3c 2f 6c 69 3e 0d 0a 3c 2f system.</li>..</
1ca0: 75 6c 3e 0d 0a 0d 0a 3c 62 72 3e 0d 0a 3c 68 72 ul>....<br>..<hr
1cb0: 3e 3c 62 72 3e 0d 0a 42 61 63 6b 20 74 6f 20 3c ><br>..Back to <
1cc0: 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f a href="https://
1cd0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
1ce0: 66 6f 73 73 69 6c 2f 6c 69 62 72 61 73 74 65 72 fossil/libraster
1cf0: 6c 69 74 65 32 2f 77 69 6b 69 3f 6e 61 6d 65 3d lite2/wiki?name=
1d00: 72 61 73 74 65 72 6c 69 74 65 32 2d 64 6f 63 22 rasterlite2-doc"
1d10: 3e 52 61 73 74 65 72 4c 69 74 65 32 20 64 6f 63 >RasterLite2 doc
1d20: 20 69 6e 64 65 78 3c 2f 61 3e 0a 5a 20 63 38 37 index</a>.Z c87
1d30: 36 63 35 34 63 36 61 64 32 36 38 33 34 31 36 63 6c54c6ad2683416c
1d40: 65 63 32 31 62 63 65 33 33 64 64 30 33 0a ec21bce33dd03.