Ett experiment för att förbättra effektiviteten hos kattverktyget

Ariadne Conill, skapare av Audacious-musikspelaren, initiativtagare till IRCv3-protokollet och ledare för Alpine Linux-säkerhetsteamet, undersökte hur man optimerar kattverktyget, som matar ut en eller flera filer till standardutgångsströmmen. För att förbättra prestanda för cat på Linux, föreslås två optimeringar, baserade på användningen av sendfile och splice-systemanrop för att direkt kopiera data mellan filbeskrivningar på kärnnivå utan att kontexten byter till användarutrymme.

Basimplementationen, med traditionella läs- och skrivanrop som ledde till kontextväxling, visade en prestanda på 4 GB/s vid kopiering av en 3.6GB-fil från tmpfs. Det sendfilbaserade alternativet ökade prestanda till 6.4 GB/s, och det skarvbaserade alternativet ökade prestanda till 11.6 GB/s, d.v.s. visade sig vara mer än 3 gånger snabbare än originalversionen.

Källa: opennet.ru

Lägg en kommentar