NVIDIA, please start using ZSTD instead of XZ for the installer (for Windows too)

The NVIDIA installer is notoriously slow at unpacking installation files, so I’ve decided to pitch ZSTD against XZ:

NVIDIA-Linux-x86_64-465.24.02.run       235,706,017 bytes
NVIDIA-Linux-x86_64-465.24.02.tar.zstd  219,080,755 bytes

I.e. the ZSTD archive is smaller by 7%. The compression flags used: zstd --ultra -22 --long

Time to unpack:

The official installer: 11 seconds
The tar.zstd:        0.645 seconds

i.e. 17 times faster.


CC’ing the Unix guys.

The underlying makeself.sh script supports zstd, but zstd itself is still not installed out of the box on several distributions that are still supported. Unlike xz where we can embed xzminidec into the .run package, there’s no easy standalone decompressor for zstd.

Isn’t this what you need?


Does this match your needs?

I tried this and --ultra -22 seems to remove the ability for zstd to use more than one CPU core, which means it won’t just be a drop-in replacement for xz. I’ll look into whether I can use your link as a standalone decompressor but the regression in compression time is going to be a hard sell for the build automation team.

1 Like