首页 > 代码库 > 代码运行时间的测量方法(linux / windows)
代码运行时间的测量方法(linux / windows)
Windows平台下代码运行时间测量方法:
一:毫秒级 GetTickCount()
#include <windows.h>
二:秒级 Time()
#include <time.h>
三:微秒级 QueryPerformanceCounter(&end)
#include <windows.h>
Linux平台下时间测量方法:
一:秒级 C语言库函数time()
二:微秒级 C语言库函数 gettimeofday()
本身时间消耗3ms左右
三:纳秒级 RDTSC指令 时间戳计时器
Intel Pentium以上级别的CPU中,有一个称为“Time Stamp”的部件,它以64位无符号整形数的格式,精确的记录自CPU上电以来所经过的时钟周期数。时间戳计数器以机器时钟为单位。1时钟周期 = 1秒 / 主频(Hz)。这些CPU中可以使用 RDTSC (Read Time Stamp Counter)指令来读取,它将时间戳计数器的高32位装入EDX寄存器,低32位存入EAX寄存器。RDTSC指令不被gcc内嵌的汇编直接支持,可采用宏定义来嵌入指令:
#define RDTSC ".byte 0x0f, 0x31\n\t"
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。