Redian新闻
>
如何 测量某个函数的运行时间?
avatar
如何 测量某个函数的运行时间?# Programming - 葵花宝典
z*8
1
C++, UNIX
我想测量某个函数在不同参数时候的运行时间情况, 该怎么做 ? 谢谢!
avatar
s*e
2
#include
#include
/* Usage:
double start = usertime_();

// do things you want to time

double end = usertime_();
double myUserTime = end - start; // in seconds
*/
double usertime_()
{
struct rusage ruse;
getrusage (RUSAGE_SELF, &ruse);
return ((double)
(ruse.ru_utime.tv_sec + ruse.ru_utime.tv_usec / 1000000.0));
}
double systemtime_()
{
struct rusage ruse;
getrusage (RUSAGE_SELF, &ruse);
return ((double)
(ruse.ru_stime

【在 z*********8 的大作中提到】
: C++, UNIX
: 我想测量某个函数在不同参数时候的运行时间情况, 该怎么做 ? 谢谢!

avatar
z*8
3
could the result be in millisecond? My result is always 0.....
Thanks,

【在 s***e 的大作中提到】
: #include
: #include
: /* Usage:
: double start = usertime_();
:
: // do things you want to time
:
: double end = usertime_();
: double myUserTime = end - start; // in seconds
: */

avatar
s*e
4
the result is in seconds
to get the milliseconds, change 1000000 to 1000
see if it works

【在 z*********8 的大作中提到】
: could the result be in millisecond? My result is always 0.....
: Thanks,

avatar
k*f
5
把你的函数运行1000遍

【在 z*********8 的大作中提到】
: could the result be in millisecond? My result is always 0.....
: Thanks,

avatar
s*u
6
time exec 一下..

【在 z*********8 的大作中提到】
: C++, UNIX
: 我想测量某个函数在不同参数时候的运行时间情况, 该怎么做 ? 谢谢!

avatar
O*e
7
GNU C++: g++ -pg ...
Intel C++: icc -qp ...
Run your program a sufficient number of times to generate profiling data,
then your GNU gprof to analyze the data.

【在 z*********8 的大作中提到】
: C++, UNIX
: 我想测量某个函数在不同参数时候的运行时间情况, 该怎么做 ? 谢谢!

avatar
t*8
8
一般至少要运行一千遍,
由于现在的编译大多做了优化,最好变一下参数
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。