Հետ
Ծրագրավորում և բաց կոդ

C++-ի սև մոգություն. Արագ շրջանաձև բուֆեր

Habr
Advertisement468 × 90
C++-ի սև մոգություն. Արագ շրջանաձև բուֆեր

Հոդվածում հեղինակը քննարկում է C++-ով բարձր արդյունավետությամբ շրջանաձև բուֆերի իրականացման խնդիրը, որը կապահովի տվյալների անընդհատությունը հիշողության մեջ: Ստանդարտ լուծումները, ինչպիսիք են std::list-ը, std::deque-ը կամ std::vector-ը, միշտ չէ, որ թույլ են տալիս բուֆերի բոլոր տարրերը կարդալ որպես մեկ ամբողջական զանգված, ինչը կարևոր է հոսքային տվյալների մշակման համար: Հեղինակն առաջարկում է օրիգինալ լուծում՝ հիմնված օպերացիոն համակարգի վիրտուալ հիշողության մեխանիզմների օգտագործման վրա: Մեթոդի էությունը կայանում է նրանում, որ նույն ֆիզիկական հիշողության հատվածը քարտեզագրվում է երկու հարակից վիրտուալ հասցեների վրա: Սա թույլ է տալիս իրականացնել շրջանաձև բուֆեր, որտեղ տվյալները միշտ դասավորված են հաջորդաբար՝ վերացնելով պատճենման կամ զանգվածի վերջին հասնելիս «ընդհատումների» մշակման բարդ տրամաբանության անհրաժեշտությունը: Այս մոտեցումը ցույց է տալիս ցածր մակարդակի համակարգային ծրագրավորման հնարավորությունների խորը իմացություն և թույլ է տալիս զգալիորեն օպտիմալացնել հոսքային տվյալների հետ աշխատանքը ռեսուրսատար հավելվածներում:

This is a summary. Read the full article at the original source:

Habr
Advertisement468 × 90
Share
Ծրագրավորում և բաց կոդ

Կապակցված

Docker-ը ներկայացրել է Docker Agent-ը՝ նոր բաց կոդով գործիք, որը նախատեսված է ծրագրավորողների և նրանց կոնտեյներային միջավայրերի փոխգործակցությունը պար…

Hacker News (YC)
Advertisement970 × 250