Avaldati tulemused Ubuntu pakettide uuesti kompileerimise mĂ”ju jĂ”udlusele erinevate valikute ja mĂ€lu eraldamise funktsioonide rakenduste puhul. Katse korraldaja suutis tĂ”sta jq paketi, mis on mĂ”eldud JSON andmete töötlemiseks, jĂ”udlust 90% (1,9 korda) lihtsalt sama paketi lĂ€htekoodist uuesti kompileerimise kaudu, ilma muudatusteta koodis. JĂ”udlust hinnati GeoJSON andmete, mille suurus on 500MB, tĂŒĂŒpilise filtreerimispĂ€ringu kĂ€itamise aja mÔÔtmise kaudu.
Katse tulemused:
- GCC-s sama lÀhtekoodi vaikeseadetega kompileeritud valik osutus 2-4% kiiremaks kui Ubuntu binaarpakett.
- Clang 18-s uutest optimeerimise tasemest '-O3', koos lingimise optimeerimise aktiveerimisega ('-flto') ja silumisinformatsiooni vĂ€ljalĂŒlitamisega ('-DNDEBUG') saavutati 20% kiirusetĂ”us.
- MĂ€lu jaotussĂŒsteemi TCMalloc abil uuesti kompileerimine (lisades ' -L/usr/lib/x86_64-linux-gnu -ltcmalloc_minimal' LDFLAGS-sse) andis 40% kiirusetĂ”usu.
- malloci funktsioonide asendamine tcmalloc, jemalloc ja mimalloc mĂ€lu jaotussĂŒsteemidega 'LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libâŠ.so' kaudu tĂ”i kaasa 27%, 29% ja 44% jĂ”udluse kasvu. KĂ€ivitamisel mimallociga, mis nĂ€itas 44% kiirusetĂ”usu, mÀÀrati keskkonnamuutuja 'MIMALLOC_LARGE_OS_PAGES=1'.
- Paketi uuesti kompileerimine mimallociga LDFLAGS-s asemel linkimise kaudu LD_PRELOAD andis testimisel 90% kiirusetÔusu. Teine test, milles kohandati 2.2GB JSON andmeid 13000 failis, nÀitas ka umbes kahekordset jÔudluse kasvu.
Allikas: opennet.ru
