I Linux-kernen er behandlingen af indkommende UDP-pakker blevet beskattet med 12%.

Der er blevet accepteret et sæt ændringer i koden, som udgør fundamentet for Linux-kernen 7.0, under stress-testning i et 100-gigabit-netværk, hvilket har gjort det muligt at forbedre ydeevnen for behandling af indkommende UDP-pakker med 12%. Optimeringen er implementeret ved manuelt at inlinere 2 funktioner. Det bemærkes, at funktionen timecounter_cyc2time() kan kaldes for hver indkommende pakke, da moderne protokoller kræver registrering af tidsstemplet for modtagelsen af pakken. På grund af dette i en belastet serveren funktionen timecounter_cyc2time() kan blive kaldt mere end 100 millioner gange i sekundet.

I denne situation kunne de automatiske optimeringer, som kompilatoren anvender, såsom FDO (Feedback Directed Optimization), LTO (Link Time Optimization) og PGO (Profile Guided Optimization), ikke opdage den varme kode-segment og ignorerede den, angiveligt fordi netværksdriverne leveres i form af separate moduler. Men manuel inline-udrulning af funktionen gav en betydelig ydeevneforbedring.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster