c++ - 测量使用预编译库(C++、Linux)的程序的总 CPU 时间

标签 c++ linux postgresql profiling timing

我目前无意中遇到了这个问题,我很想听听您的一些建议。

我有一个 C++ 程序,它使用预编译库对 PostgreSQL 数据库进行一些查询。现在的问题是我想找出执行程序源代码中描述的所有例程所需的总(组合)cpu 时间 以及等待与数据库相关的事件所花费的时间.

我在Linux下使用了time命令,但是好像没有测出程序在数据库上花费的时间。

在我的情况下,我不可能重新编译提供给我的库,所以我认为 gprof 之类的东西不会起作用。

有什么建议吗?

谢谢。

最佳答案

试试ctime中的时钟函数。

clock_t start, end;
double cpu_time_used<p></p>

<p>start = clock();
// Do stuff
end = clock();
cpu_time_used = ((double)(end - start)) / CLOCKS_PER_SEC;
</p>

关于c++ - 测量使用预编译库(C++、Linux)的程序的总 CPU 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979129/

相关文章:

c++ - 从 shm_open() + mmap() 更改共享内存的可见性

linux - 运行程序时会发生什么?

linux - 如何使我的 git 存储库可通过 HTTP 访问

c - 当从 fork() 创建的两个进程调用 wait(0) 时,wait(0) 会做任何事情吗?

java - 由 : org. postgresql.util.PSQLException 引起:尝试自动创建数据库时数据库不存在

postgresql - 将 PostgreSQL SQL 查询结果写入 CSV 格式的 Shell 脚本

sql - 错误 : more than one row returned by a subquery used as an expression

c++ - Constexpr 类 : Inheritance?

c++ - 如何将模板类型作为参数传递给非模板函数?

c++ - 如何访问尚未开始运行的挂起线程的堆栈?