Výkon ubuntu balíčku jq se podařilo zvýšit 1,9krát rekonstrukcí

Byly zveřejněny výsledky hodnocení vlivu na výkon přebudování balíčků pro Ubuntu s různými možnostmi a implementacemi funkcí přidělování paměti. Experimentátorovi se podařilo zvýšit výkon balíčku jq pro zpracování dat ve formátu JSON o 90 % (1,9krát) běžným přebudováním ze stejného balíčku se zdrojovým kódem, aniž by byly provedeny změny v samotném kódu. Výkon byl hodnocen měřením doby provádění typového filtrujícího dotazu na datech GeoJSON o velikosti 500 MB.

Závěry experimentu:

  • Varianta sestavená v GCC ze stejných zdrojových textů s výchozími příznaky se ukázala být rychlejší než binární balíček Ubuntu o 2-4 %.
  • Přestavba v Clang 18 s úrovní optimalizace '-O3', zapnutím optimalizace při propojení ('-flto') a vypnutím ladících informací ('-DNDEBUG') vedla k urychlení o 20 %.
  • Přestavba se systémem přidělování paměti TCMalloc (přidání '-L/usr/lib/x86_64-linux-gnu -ltcmalloc_minimal' do LDFLAGS) vedla k urychlení o 40%.
  • Nahrazení funkcí malloc systémy přidělování paměti tcmalloc, jemalloc a mimalloc pomocí 'LD_PRELOAD=/usr/lib/x86_64-linux-gnu/lib….so' vedlo k nárůstu výkonu o 27 %, 29 % a 44 %. Při spuštění s mimalloc, které vykázalo urychlení o 44 %, byla nastavena proměnná prostředí 'MIMALLOC_LARGE_OS_PAGES=1'.
  • Přestavba balíčku s mimalloc v LDFLAGS místo propojení přes LD_PRELOAD vedla k urychlení průchodu testem o 90 %. Další test na zpracování 2,2 GB JSON dat v 13 000 souborech také ukázal nárůst výkonu přibližně dvakrát.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster