首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查C++中经过的时间和分配的内存?

问如何检查C++中经过的时间和分配的内存?
EN

Stack Overflow用户
提问于 2015-12-02 21:49:23
回答 1查看 142关注 0票数 0

假设我们有一个在单个线程上执行的程序C++。

分配的内存?

如何检查这个程序分配的内存量,例如,使用一个函数,该函数在给定的执行实例中返回分配给这个程序(单线程)程序的字节数。

代码语言:javascript
复制
.
.
.
std::cout << memoryallocated() << endl;
.
.

时间过去了?

计算执行一组指令的时间(例如毫秒)的最精确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-02 22:10:44

没有标准的C++接口(或C接口)来了解应用程序的时间或内存使用情况。可能会有一个特定操作系统的接口来了解内存的使用情况--例如,在Linux中,您可以读取/proc/$PID/status并查找VmSize来找出当前进程的总体大小。其他操作系统有各种其他技术。

标准C运行时中通常有一个clock函数,它会给出相当精确的计时--但所测量的时间取决于系统--有时是CPU时间(例如Linux和其他Unix变体),有时是经过时间(例如Windows)。

有各种各样的C++11时间保持功能,可以给你墙时间。std::chrono功能将在这方面有所帮助。对于硬脑膜来说,high_resolution_clock是非常有用的。

此steady_clock引用提供了如何使用chrono功能的示例。

当然,如果您只想看到Unix/Linux进程的总内存,就可以使用/usr/bin/time -v some-prog --它将显示各种统计数据,包括内存使用情况、CPU时间、CPU时间百分比等等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34053705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档