推广 热搜: @正版百度贴吧  游戏  好玩  BQG350/0.2气动隔膜泵  性价比  原因  内容  玩家  火红  模式 

Motrona GV470分配器的性能损耗

   日期:2024-06-20     浏览:5    评论:0    
核心提示:  在C++编程中,Motrona GV470分配器是C++标准库的重要组成部分。C++的库中定义了多种被统称为容器的数据结构(如链表、集合等
   在C++编程中,Motrona GV470分配器是C++标准库的重要组成部分。C++的库中定义了多种被统称为“容器”的数据结构(如链表、集合等),这些容器的共同特征之一,就是其大小可以在程序的运行时改变;为了实现这一点,进行动态内存分配就显得尤为必要,在此分配器就用于处理容器对内存的分配与释放请求。换句话说,分配器用于封装STL容器在内存管理上的低层细节。默认情况下,C++标准库使用其自带的通用分配器,但根据具体需要,程序员也可自行定制分配器以替代之。
 
  分配器是由亚历山大·斯特潘诺夫作为C++标准模板库(Standard Template Library,简称STL)的一部分发明,其初衷是创造一种能“使库更加灵活,并能独立于底层数据模型的方法”,并允许程序员在库中利用自定义的指针和引用类型;但在将标准模板库纳入C++标准时,C++标准委员会意识到对数据模型的*抽象化处理会带来不可接受的性能损耗,为作折中,标准中对分配器的限制变得更加严格,而有鉴于此,与斯特潘诺夫原先的设想相比,现有标准所描述的分配器可定制程度已大大受限。
 
  虽然Motrona GV470分配器的定制有所限制,但在许多情况下,仍需要用到自定义的分配器,而这一般是为封装对不同类型内存空间(如共享内存与已回收内存)的访问方式,或在使用内存池进行内存分配时提高性能而为。除此以外,从内存占用和运行时间的角度看,在频繁进行少量内存分配的程序中,若引入为之专门定制的分配器,也会获益良多。
 
  定义Motrona GV470分配器的主要原因之一是提升性能。利用它可以提高程序的性能,又或提高内存使用效率,亦或两者兼而有之。默认分配器使用new操作符分配存储空间,而这常利用C语言堆分配函数(malloc())实现。由于堆分配函数常针对偶发的内存大量分配作优化,因此在为需要一次分配大量内存的容器(如向量、双端队列)分配内存时,默认分配器一般效率良好。但是,对于关联容器与双向链表这类需要频繁分配少量内存的容器来说,若采用默认分配器分配内存,则通常效率很低。除此之外,基于malloc()的默认分配器还存在许多问题,诸如较差的引用局部性,以及可能造成内存碎片化。
 
  Motrona GV470分配器
 
  http://www.sd-selet.com/SonList-2261629.html
 
  https://www.chem17.com/st442930/erlist_2261629.html
原文链接:http://www.hzciic.com/news/show-95233.html,转载和复制请保留此链接。
以上就是关于Motrona GV470分配器的性能损耗全部的内容,关注我们,带您了解更多相关内容。
 
打赏
 
更多>同类资讯
0相关评论

推荐资讯
网站首页  |  VIP套餐介绍  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  手机版  |  SITEMAPS  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报