Seems to be a nice opportunity!
Based on my measurements with time in the shell, zstd looks good compared to lz4.
vanessa@vanessa-desktop /tmp 🌸 bench "dhall decode --file expr.dhalli" "lz4 -cd expr.dhalli.lz4 | dhall decode" "zstd -cd expr.dhalli.zst | dhall decode"
benchmarking bench/dhall decode --file expr.dhalli
time 3.531 s (3.458 s .. 3.674 s)
1.000 R² (1.000 R² .. 1.000 R²)
mean 3.441 s (3.406 s .. 3.482 s)
std dev 44.79 ms (18.55 ms .. 61.70 ms)
variance introduced by outliers: 19% (moderately inflated)
benchmarking bench/lz4 -cd expr.dhalli.lz4 | dhall decode
time 3.485 s (3.477 s .. 3.494 s)
1.000 R² (1.000 R² .. 1.000 R²)
mean 3.430 s (3.393 s .. 3.449 s)
std dev 34.97 ms (4.647 ms .. 44.96 ms)
variance introduced by outliers: 19% (moderately inflated)
benchmarking bench/zstd -cd expr.dhalli.zst | dhall decode
time 3.410 s (3.237 s .. 3.582 s)
1.000 R² (0.999 R² .. 1.000 R²)
mean 3.381 s (3.356 s .. 3.419 s)
std dev 35.17 ms (964.0 μs .. 43.54 ms)
variance introduced by outliers: 19% (moderately inflated)
…so at least in that case compression isn’t the bottleneck