Արիադնե Քոնիլ, Audacious երաժշտական նվագարկիչի ստեղծող, IRCv3 արձանագրության նախաձեռնող և Alpine անվտանգության թիմի ղեկավար Linux, անցկացրեց ուսումնասիրություն՝ պարզելու համար, թե որքանով կարելի է օպտիմալացնել cat ծրագիրը, որը մեկ կամ մի քանի ֆայլեր է արտածում ստանդարտ ելքային հոսքի մեջ: Cat-ի աշխատանքը բարելավելու համար, Linux Առաջարկվում են երկու օպտիմալացման տարբերակներ՝ հիմնված sendfile-ի և splice համակարգի կոչերի օգտագործման վրա՝ ֆայլերի նկարագրիչների միջև տվյալները միջուկի մակարդակով ուղղակի պատճենելու համար՝ առանց համատեքստը օգտատիրոջ տարածքում փոխելու։
Հիմնական իրականացումը, որն օգտագործում էր ավանդական ընթերցման և գրման կանչեր, որոնք հանգեցնում էին համատեքստի փոփոխման, ցույց տվեց 4 ԳԲ/վրկ արագություն tmpfs-ից 3.6 ԳԲ ֆայլ պատճենելիս: Sendfile-ի վրա հիմնված տարբերակը բարձրացրեց արագությունը մինչև 6.4 ԳԲ/վրկ, իսկ սպլայսի վրա հիմնված տարբերակը՝ մինչև 11.6 ԳԲ/վրկ, այսինքն՝ այն ավելի քան 3 անգամ ավելի արագ էր, քան սկզբնական տարբերակը:
Source: opennet.ru
