Ubuntu paketi jq jõudlust õnnestus suurendada 1.9 korda uuesti üles ehitamise teel

Avaldatud on tulemused pakettide ümberkompileerimise mõjude hindamisest Ubuntu jaoks erinevate valikute ja mälu eraldamise funktsioonide rakendustega. Eksperimentaator suutis suurendada jq paketi jõudlust 90% (1,9 korda) võrra, kasutades andmete töötlemise tööriista JSON-vormingus, tavapärase ümberkompileerimise abil samast pakendist lähtekoodiga, ilma koodi muudatusteta. Jõudlust hindati, mõõtes typiseeritud filtreerimispäringu teostamise aega 500 MB suuruste GeoJSON-andmete puhul.

Eksperimendi tulemused:

  • GCC-s vaikeseadetega kokku toodetud versioon osutus 2-4% kiiremaks kui Ubuntu binaarpakett.
  • Clang 18-s, kasutades optimeerimise taset '-O3', lisades lingimise optimeerimise ('-flto') ja eemaldades silumisinfot ('-DNDEBUG'), saavutati 20% kiirusetõus.
  • Mälu jaotussüsteemi TCMalloc kasutamine (lisades ' -L/usr/lib/x86_64-linux-gnu -ltcmalloc_minimal' LDFLAGS-sse) tõi kaasa 40% kiirusetõusu.
  • malloc-funktsioonide asendamine tcmalloci, jemalloci ja mimalloci mälu jaotussüsteemidega läbi 'LD_PRELOAD=/usr/lib/x86_64-linux-gnu/lib….so' tõi kaasa jõudluse tõusu vastavalt 27%, 29% ja 44%. Käivitades mimallociga, mis näitas 44% kiirusetõusu, oli keskkonnamuutuja 'MIMALLOC_LARGE_OS_PAGES=1' seadistatud.
  • Paketi ümberkompileerimine mimallociga LDFLAGSis, mitte LD_PRELOADi kaudu sidumine, tõi kaasa 90% kiirusetõusu testide läbimisel. Teine test 2,2 GB JSON-andmete töötlemiseks 13000 failiga näitas samuti jõudluse kaks korda suurenemist.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster