- 5
- 0
- 约 21页
- 2016-08-18 发布于重庆
- 举报
有关计时方法的介绍
有关程序计时方法的介绍 Yeung 讨论范围 计算机中的时间相关服务(函数)的主要应用 计时 延时 延时的主要内容和计时差不多,但和统计一个程序需要运行的时间不太相关,所以不做介绍 背景 计算机是怎么获得时间的? 时间是由谁提供的? 有哪些途径可以访问到与时间相关的服务? 方式一、获取系统内部时间 time_t time( time_t *timer ); From CRT library time.h time 返回自1970年1月1日午夜(UTC),到现在为止所经过的秒数。 参数timer提供一个存储时间的地址指针,可以为NULL,表示无需存储。 精度:1s 方式一、获取系统内部时间 time使用: #include stdio.h #include time.h int main() { time_t start = time(0); dosomething(); printf(“Used Time = %d s\n”, time(0) - start); return 0; } 方式一、获取系统内部时间 clock_t clock( void ); From CRT library time.h clock返回当前进程运行时间,时间单位 由CLOCKS_PER_SEC决定。 CLOCKS_PER_SEC表示1秒clock会增加的单位时间。 精度:1/CLOCKS_PER_SEC 注意:通常达不到 方式一、获取系统内部时间 clock使用: #include stdio.h #include time.h int main() { clock_t start = clock(); dosomething(); printf(“Used Time = %.2lf s\n”, (clock() – start) / CLOCKS_PER_SEC); return 0; } 方式一、获取系统内部时间 以上提供的两个函数都来自CRT Library。 下面介绍WINAPI中有关的计时API 方式一、获取系统内部时间 DWORD GetTickCount(void); Header: Declared in Winbase.h; include Windows.h.Library: Use Kernel32.lib. GetTickCount返回由系统开机到现在所经历的时间,单位毫秒。 精度:1ms 注意:实际达不到 方式一、获取系统内部时间 DWORD timeGetTime(VOID); 来自多媒体计时器 Header: Windows.h Library: Winmm.lib 方式二、高性能计时器(CPU时间戳) BOOL?QueryPerformanceFrequency (LARGE_INTEGER?*lpFrequency ); BOOL?QueryPerformanceCounter (LARGE_INTEGER?*lpPerformanceCount ); Header: Windows.h Library: Kernel32.lib 来自CPU内部的时间戳,也可以通过RDTSC指令获取时间戳 方式二、高性能计时器(CPU时间戳) LARGE_INTEGER 说白了就是一个64位无符号整数(unsigned __int64) 为什么要定义这个数据结构,目的是为了向C向下兼容 方式二、高性能计时器(CPU时间戳) 使用方法: int main() { __int64 Frequency, Start, End; QueryPerformanceFrequency((LARGE_INTEGER*)Frequency); QueryPerformanceCounter((LARGE_INTEGER*)Start); dosomething(); QueryPerformanceCounter((LARGE_INTEGER*)End); double t = double(End - Start) / Frequency; printf(Used Time = %.2lf s\n, t); } 方式二、高性能计时器(CPU时间戳) 缺点: 前两种方式只适合计时使用,并不能很好统计程序运行了多久 方式三、获取进程CPU时间 BOOL GetProcessTimes( HANDLE hProcess, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime ); Header
您可能关注的文档
- 月饼辐照杀菌剂量的确定(精选).doc
- 有Win8密钥无法升级到Windows8的解决办法.docx
- 最佳桌面背景-RGB配色表.doc
- 有一种汲取叫做永恒(精选).doc
- 苏科版物理八年级上第三章.doc
- 有余数的除法探究型学习设计方案.doc
- 有关“后进生”的全面素质教育的探析中英文对照(精选).doc
- 有关三农问题和农村劳动力的转移(精选).docx
- 有关个人社保的构成及计算方法(精选).doc
- 有关中外合作大学学生心理问题特殊性及对策研究中英文对照(精选).doc
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 我有友情要出租ppt.pptx VIP
- 2018年4月自考30002幼儿园教育活动设计与组织试卷及答案解释.doc VIP
- 2026年湖南国防工业职业技术学院单招职业技能考试题库附参考答案详解(综合题).docx VIP
- 九年级语文下册教学课件《短文两篇》.pptx VIP
- 反应粘结型高分子湿铺防水卷材施工工法.docx VIP
- 2026年湖南国防工业职业技术学院单招职业技能考试题库带答案详解(模拟题).docx VIP
- 拿来可用的管培生实施方案.docx VIP
- 沪教牛津版七年级(初一)下册全册单词表.pdf VIP
- 2026年湖南国防工业职业技术学院单招职业技能考试题库附参考答案详解(培优).docx VIP
- 美容院选址、开业、运营管理成功秘诀+美容店成功经营管理实务手册.doc VIP
原创力文档

文档评论(0)