
Server Phoronix dělal minulý týden v pátek test několika distribucí na notebooku HP Dev One. Výsledky komprese zstd byly překvapivě pro Arch Linux asi 15× pomalejší než u ostatních distribucí viz obrázek.
Problémem se začalo zabývat fórum Arch Linuxu i samotný zstd. Vypadá to tak, že zstd je možné kompilovat buď pomocí make
, tak i pomocí CMake
. Oficiální je pak make
. V Arch Linuxu se používá právě CMake
. Pokud se přeloží pomocí make
, je rychlost komprese normální.
V případě CMake
je přidán parametr -std=99
, který se zdá, že má nízký výkon na svědomí. Jak se ukázalo, tak rychlost komprese je v podstatě totožná, ale měření času v případě více vláken a -std=99
je špatně. Odstraněno tedy bylo explicitní -std=99
z CMake
a v případě, že sám kompilátor přeloží s C90/99, tak bude vypsáno varování.
Zajímavý je také použitý nástroj pro přesná měření času a výkonu v příkazové řádce hyperfine. Ten zopakuje několikrát měřený příkaz a sám spočítá průměr i standardní odchylku měření.
(zdroj: phoronix)