标签: hoard

C++内存分配器架构

我需要在Linux下为C++编写Hoard分配器。虽然算法非常简单,但我不明白在哪里(以及如何)存储分配器数据(例如堆)

我是这么看的:分配器不是一个进程,而是一组任何应用程序都可以使用的函数。每个应用程序都有自己的堆。

  1. 应用程序启动时发生了什么?
  2. 分配器如何发现堆已经创建了?
  3. 分配器如何创建、存储和销毁(关闭应用程序时)堆?
  4. 当函数被调用时,如何找出它在哪个线程(或哪个处理器)中运行?

c++ memory allocation hoard

5
推荐指数
1
解决办法
730
查看次数

Hoard分配器没有"工作"?

我正在尝试使用Hoard分配器来工作,但它似乎没有.我有一个基准测试应用程序,可以进行大量的动态内存管理.Hoard和glibc内存管理器的执行时间是一样的.这让我想知道我是不是做对了.

我做的是......

export LD_PRELOAD="/path/libhoard.so"

g++ main.cpp -O3 -o bm -lpthread -lrt
Run Code Online (Sandbox Code Playgroud)

我不应该链接到Hoard分配器吗?路径(在LD_PRELOAD中)是否重要,或者我可以拥有任何路径?

我正在运行Ubuntu 8.04和g ++ 4.2.4

干杯


没有人知道任何Linux命令(如grep)来确定Hoard是否正确加载,并且是否使用了实际的分配器?

c++ memory-management hoard

0
推荐指数
1
解决办法
916
查看次数

标签 统计

c++ ×2

hoard ×2

allocation ×1

memory ×1

memory-management ×1