util: Use ZSTD for shader cache if possible
authorDylan Baker <dylan@pnwbakers.com>
Thu, 31 Oct 2019 20:26:00 +0000 (13:26 -0700)
committerDylan Baker <dylan@pnwbakers.com>
Mon, 11 Nov 2019 18:53:45 +0000 (18:53 +0000)
commita8d941091f72923561a6c58b46ccb264b6a0e205
tree5fbfa8bb608bfd5bb090740e1b0391451a68a281
parent57acf921e28eebb76e22f9abb96008885ec44441
util: Use ZSTD for shader cache if possible

This allows ZSTD instead of ZLIB to be used for compressing the shader
cache.

On a 72 core system emulating skl with a full shader-db (with i965):
ZSTD:
    1915.10s user 229.27s system 5150% cpu 41.632 total (cold cache)
    225.40s user 10.87s system 3810% cpu 6.201 total (warm cache)
    154M (235M on disk)
ZLIB:
    2231.33s user 194.24s system 1899% cpu 2:07.72 total (cold cache)
    229.15s user 10.63s system 3906% cpu 6.139 total (warm cache)
    163M (244M on disk)

Tim Arceri sees (8 core ryzen and a full shader-db):
ZSTD:
    2505.22 user 40.50 system 3:18.73 elapsed 1280% CPU (cold cache)
    418.71 user 14.93 system 0:46.53 elapsed 931% CPU (warm cache)
    454.3 MB (681.7 MB on disk)
ZLIB:
    3069.83 user 40.02 system 4:20.13 elapsed 1195% CPU (cold cache)
    425.50 user 15.17 system 0:46.80 elapsed 941% CPU (warm cache)
    470.3 MB (701.4 MB on disk)

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (v1)
Reviewed-by: Eric Anholt <eric@anholt.net>
meson.build
meson_options.txt
src/util/disk_cache.c
src/util/meson.build