Կատուների օգտագործման արդյունավետությունը բարելավելու փորձ

Audacious երաժշտական ​​նվագարկչի ստեղծող, IRCv3 արձանագրության նախաձեռնող և Alpine Linux անվտանգության թիմի ղեկավար Արիադնա Քոնիլը հետազոտություն է անցկացրել, թե ինչպես օպտիմալացնել cat օգտակար ծրագիրը, որը մեկ կամ մի քանի ֆայլ է թողարկում ստանդարտ ելքային հոսքին: Linux-ում cat-ի աշխատանքը բարելավելու համար առաջարկվում են երկու օպտիմիզացիա՝ հիմնված sendfile-ի և splice համակարգի կանչերի օգտագործման վրա՝ ուղղակիորեն պատճենելու տվյալները ֆայլերի նկարագրիչների միջև միջուկի մակարդակում՝ առանց համատեքստի անցնելու օգտվողի տարածք:

Բազային իրականացումը, օգտագործելով ավանդական կարդալու և գրելու կանչերը, որոնք տանում են դեպի համատեքստի փոխարկում, ցույց է տվել 4 ԳԲ/վ կատարողականություն tmpfs-ից 3.6 ԳԲ ֆայլ պատճենելիս: Sendfile-ի վրա հիմնված տարբերակը բարձրացրել է կատարումը մինչև 6.4 ԳԲ/վ, իսկ splice-ի վրա հիմնված տարբերակը բարձրացրել է կատարումը մինչև 11.6 ԳԲ/վ, այսինքն. պարզվեց, որ ավելի քան 3 անգամ ավելի արագ է, քան սկզբնական տարբերակը:

Source: opennet.ru

Добавить комментарий