c - 带内存池的动态 VS 静态

标签 c memory memory-management malloc allocation

我一直认为动态内存分配比静态内存分配慢,然后我阅读了有关内存池的内容,但我很困惑

当我们比较分配时,我们讨论的是使用 malloc 与初始化变量。但是,如果用 malloc 分配一个大数组并访问它,我们会获得与静态分配它相同的性能吗?假设您有:

int i[100];
j = malloc(sizeof(int) * 100);

// Would these two lines yield the same performance?
i[1] = 10;
j[1] = 100;

感谢您的阅读...

最佳答案

内存就是内存。一旦被分配,它的行为都是一样的。只是分配速度较慢。

关于c - 带内存池的动态 VS 静态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350431/

相关文章:

javascript - 如果我只在数组中设置一个高索引,它会浪费内存吗?

c - 如何保护Linux中进程间共享的内存

ios - ScrollView 很多图片占用大量内存

Java JVM 根据操作系统保持内存分配

c++ - 清除标准输入缓冲区(内存占用)

c - 简单 CUDA 内核未按预期返回值

c - 已分配但未释放的内存

c++ - 在哪里释放函数重载运算符中分配的内存

c - 如何在一行中初始化这个数组?

c - 结构的存储大小未知