z*********8 发帖数: 2070 | 1 C++, UNIX
我想测量某个函数在不同参数时候的运行时间情况, 该怎么做 ? 谢谢! |
s***e 发帖数: 793 | 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 : 我想测量某个函数在不同参数时候的运行时间情况, 该怎么做 ? 谢谢!
|
z*********8 发帖数: 2070 | 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 : */
|
s***e 发帖数: 793 | 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,
|
k****f 发帖数: 3794 | 5 把你的函数运行1000遍
【在 z*********8 的大作中提到】 : could the result be in millisecond? My result is always 0..... : Thanks,
|
s****u 发帖数: 118 | 6 time exec 一下..
【在 z*********8 的大作中提到】 : C++, UNIX : 我想测量某个函数在不同参数时候的运行时间情况, 该怎么做 ? 谢谢!
|
O******e 发帖数: 734 | 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 : 我想测量某个函数在不同参数时候的运行时间情况, 该怎么做 ? 谢谢!
|
t*******8 发帖数: 9 | 8 一般至少要运行一千遍,
由于现在的编译大多做了优化,最好变一下参数 |