小编FSh*_*ike的帖子

使用 malloc 测量 CPU 与 Wall 时间的奇怪差异

答:用户和内核cpu时间是分开测量的,小心!

编辑:pTimes 现在在每个基准测试之间重置为零,但结果变得更奇怪了!

最终目标是摆弄我自己的自定义内存管理方案,我为 Visual Community 2019、Windows 10 中现有的 malloc() 做了一个简单的基准测试。出于兴趣,我对 CPU 时间和墙时间进行了基准测试,然后我通过在许多块中分配大块内存,然后单独释放每个块而不使用它们来测试 malloc。看这里:

void malloc_distr256(int nMemsize) {
    long long pFreeList[256];

    for (int i = 0; i < 256; ++i) pFreeList[i] = malloc(nMemsize >> 8);
    for (int i = 0; i < 256; ++i) free((void*)pFreeList[i]);
}

void malloc_distr64(int nMemsize) {
    long long pFreeList[64];

    for (int i = 0; i < 64; ++i) pFreeList[i] = malloc(nMemsize >> 6);
    for (int i = 0; i < 64; ++i) free((void*)pFreeList[i]);
}

void malloc_distr0(int …
Run Code Online (Sandbox Code Playgroud)

c memory windows malloc cpu-time

3
推荐指数
1
解决办法
43
查看次数

标签 统计

c ×1

cpu-time ×1

malloc ×1

memory ×1

windows ×1