如何对内存消耗进行基准测试
How do you benchmark memory consumption?
我想知道是否有一种有效的方法来测量特定C数据结构的实际内存消耗。
目标是根据对这些数据结构进行特定操作后内存使用情况的变化进行基准测试。
我不寻求一种方法来计算正在使用的对象的数量;我确实想知道对象在压力下的内存使用量究竟有多大。
是否有一个标准的方法来做到这一点,无论是在C代码,还是从外部?(一个等价于time
(1)的实用程序可以作为开始)。
显然,我可以跟踪每一个指针并对所有sizeof
求和。如果这是唯一的办法,请告诉我。我想知道是否有更简单的方法。或者一个库来帮我做
如果您想在全局级别上监视程序的内存使用情况,您可以用自己的函数替换c++中的new/delete
或C中的malloc/free
并记录内存使用情况。
在Unix上,对于内存消耗,您可以将valgrind与Massif工具(+任何可视化工具)一起使用,但我不知道它是否适合您的问题,因为它将为您提供程序所有内存消耗的详细视图。
Linux上有pmap甚至pstat
在MS上有无数的VStudio分析工具,这取决于你对MS机器的贡献(甚至是cmd行使用的免费工具)。叫我绿色号角,我没有内存泄漏的问题。
相关文章:
- 使用rdtsc进行基准测试的缺点是什么
- 对 'std::thread::_M_start_thread CMake 的未定义引用进行基准测试
- 更高效地在微控制器上对C++进行基准测试
- _mm256_load_ps调试模式下导致谷歌/基准测试的分段错误
- 二叉树基准测试结果
- 如何使用谷歌基准测试对自定义界面进行基准测试
- 谷歌基准测试,如何只调用一次代码?
- 使用 std::chrono::steady_clock 对线程/异步中的代码进行基准测试
- 谷歌基准测试结果中显示的时间没有意义
- 使用 Google 基准测试时返回值会发生什么情况?
- 如何在Qt测试框架中对信号进行基准测试?
- C/C++memcpu基准测试:测量CPU和墙时间
- 如何将参数传递给Google基准测试程序
- 如何对CUDA项目进行基准测试
- 为什么这个简单的 C++ SIMD 基准测试在使用 SIMD 指令时运行速度较慢?
- 多部分基准测试的权重是多少?
- 简单的 for() 循环基准测试在任何循环绑定下花费相同的时间
- 禁用优化后,quick-bench.com 基准测试要快得多
- 如何对内存消耗进行基准测试
- MSVC 中微基准测试的优化屏障:告诉优化器您的内存