时间:
timeval start_time,end_time;
gettimeofday(&start_time,NULL);
gettimeofday(&end_time,NULL);
cout<< "time(s) : " << end_time.tv_sec-start_time.tv_sec + (end_time.tv_usec-start_time.tv_usec)/1000000.0 <<endl;
linux内存(当前进程虚拟内存):
//for checking memory
int parseLine(char* line){
// This assumes that a digit will be found and the line ends in " Kb".
int i = strlen(line);
const char* p = line;
while (*p <'0' || *p > '9') p++;
line[i-3] = 0;
i = atoi(p);
return i;
}
int getMemkb(){ //Note: this value is in KB!
FILE* file = fopen("/proc/self/status", "r");
int result = -1;
char line[128];
while (fgets(line, 128, file) != NULL){
if (strncmp(line, "VmSize:", 7) == 0){
result = parseLine(line);
break;
}
}
fclose(file);
return result;
}
本文介绍了一种在Linux环境下测量程序运行时间和当前进程虚拟内存占用的方法。通过使用timeval结构和gettimeofday函数来记录时间差,进而计算出程序运行所花费的时间。同时,通过解析/proc/self/status文件来获取当前进程的虚拟内存大小。
1095

被折叠的 条评论
为什么被折叠?



