打印程序执行时间的小工具
来源:互联网 发布:毛笔字软件 编辑:程序博客网 时间:2024/06/05 02:10
/*note: This program is used to run a child program and caculate the time.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ date what to do @@ 2010/01/08 create new file @@ @@ @@ @@ @@ @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/#ifdef WIN#include <stdio.h>#include <string.h>#include <stdlib.h>#include <signal.h>#include <errno.h>#include <time.h>void testfile();int main(int arg, char **args){/* declare */ clock_t startTime = 0; clock_t endTime = 0; char cmd_p[4096]; /* comand buffer */ int i; /* check parameter and make cmd */ if(arg == 1){ goto USAGE_ERROR; }else{ cmd_p[0] = 0; for(i = 1; i < arg; i++){ strcat(cmd_p, args[i]); strcat(cmd_p, " "); } } printf("Child program is:\n%s\n", cmd_p); /* get start time */ startTime = clock();/* run child program */system(cmd_p);/* caculate total time */ endTime = clock(); printf("start time: %d (ms)\tend time: %d (ms)\n", startTime, endTime); printf("Total time cost: %d (ms)\n", endTime-startTime); return 0;USAGE_ERROR:printf("USAGE: runWithTime <child program cmd line>\n"); return 1;}#else#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#define USTOMS(t)(t/1000)void testfile();int main(int arg, char **args){/* declare */ struct timeval start,stop,diff; char cmd_p[4096]; /* comand buffer */ int i; /* check parameter and make cmd */ if(arg == 1){ goto USAGE_ERROR; }else{ cmd_p[0] = 0; for(i = 1; i < arg; i++){ strcat(cmd_p, args[i]); strcat(cmd_p, " "); } } printf("Child program is:\n%s\n", cmd_p); gettimeofday(&start,0);/* run child program */system(cmd_p); gettimeofday(&stop,0); timeval_subtract(&diff,&start,&stop); printf("Total time cost: %d (ms)\n",diff.tv_sec*1000+USTOMS(diff.tv_usec)); return 0;USAGE_ERROR:printf("USAGE: runWithTime <child program cmd line>\n"); return 1;} int timeval_subtract(struct timeval* result, struct timeval* x, struct timeval* y){ int nsec; if( x->tv_sec>y->tv_sec ) return -1; if((x->tv_sec==y->tv_sec)&&(x->tv_usec>y->tv_usec)) return -1; result->tv_sec=(y->tv_sec-x->tv_sec); result->tv_usec=(y->tv_usec-x->tv_usec); if(result->tv_usec<0) { result->tv_sec--; result->tv_usec+=1000000; } return 0;}#endifvoid testfile(){int i; char buffer[4296]; /* buffer */ FILE *fp; memset(buffer, 0, sizeof(buffer));for(i = 0; i < 4166; i++){buffer[i] = 'a';}for(i = 0; i < 25617; i++){ fp = fopen("test.txt","a"); if(NULL == fp)return; fputs(buffer, fp); fclose(fp);}}
0 0
- 打印程序执行时间的小工具
- 打印程序执行时间
- 小工具一:二进制打印字符串的宏dprintfbin
- 方便的小工具
- xorg的小工具
- 有意思的小工具
- 整理的小工具
- 实用的小工具
- 小工具的使用
- 批处理程序常用小工具
- Java制作的快速打开文件夹、程序的小工具
- 一个实用小工具(允许程序运行的次数)
- 程序小工具类方面的url收藏
- [软件]多文档批量打印小工具
- 【小工具】仿站小工具的使用及下载
- 防RSI的小工具
- 无处不在的网络小工具
- 清除系统的小工具
- automake工具集使用
- android studio 安装(mac)
- HDU 1556 Color the ball(线段树的区间更新【注释】)
- DNS 配置详解
- 【mkfs】创建文件系统
- 打印程序执行时间的小工具
- 关于安卓6.0.1系统Xmpp不能链接的问题!“No response from the server”
- 视频讲解——Web服务器性能优化入门介绍
- lcm——hdu2028
- meshgrid函数用法
- java学习 集合之arrayList
- 算法——排序——插入排序
- android shape的使用
- Could not create the view: An unexpected exception was thrown.