Hex Artifact Content
Not logged in

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.