Prestandan för Ubuntu-paketet jq kunde öka med 1,9 gånger genom att återkompilera.

Resultaten av bedömningen av effekten på prestandan av återkompilering av paket för Ubuntu med olika alternativ och implementationer av minnesallokeringsfunktioner har publicerats. Experimentatören lyckades öka prestandan för paketet jq, som är ett verktyg för att bearbeta JSON-data, med 90 % (1,9 gånger) genom vanlig återkompilering från samma paket med källkoden, utan att göra några ändringar i själva koden. Prestandan utvärderades genom att mäta tiden för att utföra en typisk filtreringsfråga på data i GeoJSON-format, som är 500 MB stor.

Resultat av experimentet:

  • Alternativet som kompilerades i GCC från samma källkoder med standardflaggor visade sig vara snabbare än den binära Ubuntu-paketet med 2-4%.
  • Återkompilering med Clang 18 på optimeringsnivå "-O3", inklusive optimering vid länkning ("-flto") och avstängning av debug-information ("-DNDEBUG") ledde till en ökning med 20%.
  • Återkompilering med TCMalloc-minnesallokeringssystem (tillägg av "-L/usr/lib/x86_64-linux-gnu -ltcmalloc_minimal" i LDFLAGS) resulterade i en ökning med 40%.
  • Ersättning av malloc-funktioner med minnesallokeringssystemen tcmalloc, jemalloc och mimalloc via "LD_PRELOAD=/usr/lib/x86_64-linux-gnu/lib….so" ledde till en ökning av prestandan med 27 %, 29 % och 44 %. Vid körning med mimalloc, som visade en ökning på 44 %, ställdes miljövariabeln "MIMALLOC_LARGE_OS_PAGES=1" in.
  • Återkompilering av paketet med mimalloc i LDFLAGS istället för länkning via LD_PRELOAD ledde till en ökning av testresultatet med 90%. Ett annat test för bearbetning av 2,2 GB JSON-data i 13000 filer visade också en prestandaförbättring på cirka två gånger.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster