腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
5
回答
使用基于动态/状态的分配器的
STL
实现?
、
、
有人知道
STL
实现允许在使用之前将动态分配器传递到容器的实例中吗?场景是,我们有一个通用的
内存
分配器来管理许多
内存
池
,并且对于
stl
::vector的每个实例,我们希望从不同的
内存
池中分配每个实例。标准
STL
实现的问题是,您只能基于类型定义
内存
池
,即所有int类型的向量都将从同一个池中分配。我已经把默认的
stl
::allocator换成了一个有状态的
stl
::allocator,也就是我们想要从其中
浏览 1
提问于2011-02-04
得票数 6
2
回答
如何根据
STL
列表中元素的数量来分配
内存
?
、
、
可以选择为
STL
容器提供自定义分配器。但是,我找不到一种实现,可以在
内存
池
空间耗尽时增加
内存
池
的块大小。
STL
分配器如何读取列表容器的大小并自增长块大小?
浏览 18
提问于2017-02-06
得票数 1
1
回答
我可以为多个向量使用一个
内存
池
吗?
、
、
假设我有一个符合
STL
标准的分配器。我希望一个
STL
容器(std::vector)的多个实例(百万)使用该分配程序的同一个实例(我们将假定线程安全得到保证)。这一执行是否如预期的那样有效?:vector<std::vector<int, MemoryPool<int>>> myvec;...and具有相同的
内存
使用量问题是,我的
内存
使用正在随着这个实现而膨胀。使用默认分配器的~12 4GB到
内存</e
浏览 4
提问于2016-07-24
得票数 1
回答已采纳
1
回答
除了默认分配器之外,
stl
现在还有其他分配器吗?
、
在allocator.h中定义的
Stl
默认分配器是new、delete运算符的简单包装。
stl
有没有其他的分配器,比如基于
内存
池
的分配器?如果有,说明定义了哪个头文件。我研究了
stl
源代码(4.1.1),并用谷歌搜索了一下,但什么都找不到。
浏览 0
提问于2015-03-03
得票数 2
5
回答
一种使用连续
内存
并具有保留功能的映射和集合
、
、
、
缺乏连续
内存
和大量的(De)分配是性能瓶颈。我需要一个主要的
STL
-compatbile映射和set类,它可以为内部对象(或多个块)使用一个连续的
内存
块。据我所知,
STL
内存
池
是每种类型,而不是每一个实例(某种程度上说不是,很多警告)。对于mutli/core处理中的
内存
局部性,这些全局
池
并不有效。对象
池
不工作,因为类型将在实例之间共享,但它们的
池
不应该。 在许多情况下,散列映射可能是一种选择。
浏览 1
提问于2011-01-01
得票数 26
2
回答
默认的
stl
分配程序如何分配?
、
、
、
我让对象使用重载的新/删除操作符,就像我使用
内存
池
分配
内存
一样。) MemoryManager::GetInstance().FreeFooTypeMemory(p);现在,我的问题是,当我创建一个包含Foo指针的
STL
时,它是如何工作的默认
STL
分配器使用::container.When中新分配
内存
的操作符是否使用它?另外,如果是,是否意味着如果我已经使用
池
在对象中分配
内存
(如Foo示例),
浏览 2
提问于2014-10-13
得票数 1
回答已采纳
3
回答
当我只需要覆盖新的和删除的时候,为什么我要为
STL
容器编写自定义分配器呢?
、
、
、
、
每个模块将与主模块接口,请求一个
内存
块来管理,这些
内存
将是堆栈、线性、
池
、块分配器等,它们管理来自主
池
分配器的分区的分配。我面临的问题是,我是否应该为各种
STL
容器编写自定义allocator_traits来与这些容器进行接口;或者我是否应该忽略适配器的概念,而只是重载新的和删除来使用自定义
池
分配器/管理器,即主
池
分配器/我感兴趣的是,为
STL
容器设置单独的分配器会带来什么实实在在的好处?看起来,默认的std::allocator调
浏览 9
提问于2020-10-31
得票数 3
回答已采纳
4
回答
防止
STL
容器中的
内存
释放
、
、
我有一个
STL
容器(std::list),我一直在重用它。我也希望我的分配
池
继续增加,直到达到一个高水位,并让分配
池
继续保持
内存
,直到容器本身被删除。不幸的是,标准分配器不断调整
内存
池
的大小,所以我正在寻找一些分配器,它可以完成上述操作,而无需编写自己的分配器。编辑:which new是可以的,我想要最小化的是堆行走,这是很昂贵的。我还希望我的所有对象尽可能接近彼此
浏览 11
提问于2013-06-21
得票数 5
回答已采纳
1
回答
当真正释放
STL
中的
内存
时
、
STL
的分配器使用
内存
池
技术,它只将所需的
内存
释放添加到空闲列表中,如下所示:{ malloc_alloc::deallocate(__p, __n); _Obj* __
STL
_VOLATILE
浏览 1
提问于2015-12-14
得票数 3
回答已采纳
1
回答
是否有不会隐式释放
内存
的
STL
分配器?
、
、
、
我的
STL
容器中的
内存
使用量预计是不稳定的-也就是说,它会频繁地收缩和增长。我想通过为
STL
容器类型声明指定一个分配器来解释这一点。我知道
池
分配器是用来处理这种情况的,但我担心的是,波动会超过
池
的比例,为了克服它,我需要做大量的测试来确定好的
池
度量标准。我的理想分配程序永远不会隐式释放
内存
,事实上,如果
内存
只在分配程序被破坏时才释放,则完全可以接受。显式释放未使用
内存
的成员函数很好,但没有必要。换句话说,是否一次分配单个元素或其中的一
浏览 1
提问于2011-10-06
得票数 3
3
回答
std::string operator+()
内存
泄漏?
、
、
、
、
我非常担心,因为我写了一个小应用程序,如果我相信valgrind (我实际做的事情),似乎会有
内存
泄漏: ==9321== 251 bytes in 7 blocks are definitely lost我就是不明白为什么会有
内存
泄漏。因为我的字符串被复制到堆栈中,并且当函数是left时,原始字符串应该被清除,对吗?或者误差可能更高?任何指向没有泄漏的
内存
的指针都是非常有用的:-p!
浏览 0
提问于2011-09-02
得票数 13
回答已采纳
1
回答
是否可以通过其地址访问
STL
deque元素?
、
、
下午好,我们正在尝试对Windows
内存
映射缓存子系统做一个简单的仿真。我们正在使用几个
STL
数据结构。 deque..A
STL
deque,std::deque<Range>访问,它保存和记录关于最近使用的
内存
映射区域的最新信息。基本上,当我们从
STL
集中检索指向有效
内存
映射区域的指针时,我们希望使用该指针直接访问O(常数时间)中对应的元素deque。然后,我们要将deque元素移到
STL
deque的前面,以便可以在
STL
deque
浏览 4
提问于2011-06-28
得票数 0
回答已采纳
1
回答
Linux
版的Windows“非分页
池
”是否存在这样的东西?
、
、
、
我一直在使用一个从“非分页
池
”读取数据的Windows应用程序来提高性能。在本例中,非分页
池
是网络驱动程序从线路上获取数据时写入数据的
内存
区。
Linux
如何处理
内存
、需要高速独占访问RAM的网络驱动程序(或其他驱动程序)以及“如何直接从非分页
池
读取”的问题?甚至在应用于
Linux
时也有意义吗? 非常感谢
浏览 1
提问于2010-10-26
得票数 1
回答已采纳
1
回答
dpdk
内存
池
分配的方式超出了需要
、
、
我有一个
linux
应用程序,它使用dpdk备忘录
池
。我正在尝试分配一个包含8000000个24个字节对象的
内存
池
。当在
内存
池
创建中不使用MEMPOOL_F_NO_CACHE_ALIGN时,它分配了1688兆字节的
内存
,大约是所需
内存
的10倍。
浏览 3
提问于2019-06-19
得票数 1
回答已采纳
3
回答
避免
内存
碎片的方法
、
、
、
我从RTOS分配了一个很大的
内存
池
(我已经知道我的应用程序的
内存
需求,它不会超过一定的大小)。然后,我的应用程序分配请求将从该池中得到满足。最近我开始面临一个问题:即使
内存
在那里,分配请求也没有得到满足(获得了集成的
内存
基准测试框架,它显示了这一点),调查显示我们正在遭受
内存
碎片。我的应用程序严重依赖
STL
(还从网络接收数据,XML解析,图像处理,将其保存为PNG等),以及
内存
碎片背后的堆
内存
分配(还有其他原因吗?),有什么最好的方
浏览 4
提问于2013-04-06
得票数 2
6
回答
一个大
池
还是几个特定类型的
池
?
、
、
每个游戏实体目前都是由一个特定类型的工厂生成的,因此我有几个工厂允许我根据自己的意愿隔离和更改这些实体的
内存
管理。现在,我正在选择这两种选择: Having是每个类型的
内存
池
:这将允许真正快速的分配/去分配和最小的碎片,因为对象
池
已经知道分配对象的大小。让我烦恼的是,有几个这样的
池
是分开的,也许让另一个解决方案更多一些efficient...Having --一个游戏表示的所有工厂共享一个大
内存
池
:(使用类似于boost::pool的一些适配器函数),这样我就
浏览 8
提问于2009-12-27
得票数 9
回答已采纳
1
回答
SGI默认分配器是否存在
内存
泄漏?
、
、
__default_alloc_template的两个静态成员被用来管理它的
内存
池
:static _Obj* __
STL
_VOLATILE _S_free_listNFREELISTS];_S_start_free = (char*)malloc(__n);free(_S_s
浏览 0
提问于2017-09-14
得票数 0
1
回答
C++
STL
::MAP内部节点中存储了什么?
、
、
、
动机:我正在尝试使用c++
STL
开发一个简单的持久密钥值存储。因此,我尝试创建一个自定义分配器,以便从持久
内存
中分配
stl
::map对象。我从持久
内存
设备映射了一个
内存
池
,该
内存
池
由自定义分配器使用。因此,我需要了解映射节点的设置,以确保与MAP对象相关的所有(而不是或多或少)都从持久
内存<
浏览 1
提问于2017-02-23
得票数 1
2
回答
内核如何将进程限制为自己的
内存
池
?
、
、
、
我们有x86 CPU和操作
内存
,这个
内存
类似于一些
内存
池
,由可寻址的
内存
单元组成,这些
内存
单元可以通过CPU的MOV指令读取或写入它们的地址(我们可以将
内存
从这个
内存
池
移动到这个
内存
池
)。考虑到我们的程序是内核,我们可以完全访问整个
内存
池
。但是,如果我们的程序不是直接在硬件上运行,内核就会创建一些位于物理
内存
池内部的“虚拟”
内存
浏览 5
提问于2015-02-23
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Netty源码解析 -- 内存池与PoolArena
图解|Linux内存碎片整理
Linux内存映射mmap原理分析
解读 Linux 内存管理新特性 Memory folios
一篇读懂Linux 是如何管理内存的
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券