E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
rdtsc
如何利用
rdtsc
计算纳秒级的时间
从奔腾系列开始,IntelX86处理器中增加了一个64位的时间戳寄存器(TSC),每个经过一个时钟周期,该寄存器加1;机器重启时,该寄存器将清空。 现在的处理器其主频都在1G以上,也就是说其时钟周期是纳秒级的(1秒/1000000000=1纳秒)。 那该寄存器会不会溢出呢?我们可以计算一下,假设机器的主频是3GMHz,也就是说1秒钟包含3,000,000,000个时钟周期,每个时
u010064842
·
2015-07-18 09:00
Windows下获取高精度时间注意事项
RDTSC
- 粒度: 纳秒级 不推荐 优势: 几乎是能够获得最细粒度的计数器 抛弃理由: A) 定义模糊
·
2015-02-07 06:00
windows
实时定时器C实现
linux下还有一种高精度的定时器,那就是posix_timer.我记得以前看代码的时候CLOCK_REALTIME的定时器似乎用的就是
rdtsc
指令,不过现在不确定了,先放到一边。
darennet
·
2014-10-30 08:00
获取时间戳的正确方式
//代码来自kbengine *nux: inline uint64 timestamp() { #ifdef KBE_USE_
RDTSC
return timestamp_
rdtsc
(); #else
invictus_lee
·
2014-10-22 11:00
RDTSC
与QueryPerformanceCounter
1.概述
RDTSC
指令属于汇编指令,取得的是CPU的周期数;QueryPerformanceCounter属于WINAPI,取得的是高精度性能计数器的值,MSDN的解释是Retrievesthecurrentvalueoftheperformancecounter
u011388550
·
2014-05-03 17:00
多核时代不宜再用x86的
RDTSC
指令测试指令周期和时间
文章转载自http://blog.csdn.net/solstice/article/details/5196544自从IntelPentium加入
RDTSC
指令以来,这条指令是micro-benchmarking
u011388550
·
2014-05-03 17:00
SetThreadAffinityMask设置使用多核CPU的哪个核心
SetThreadAffinityMask设置使用多核CPU的哪个核心http://blog.csdn.net/solstice/archive/2010/01/16/5196544.aspx多核时代不宜再用x86的
RDTSC
johnny710vip
·
2014-04-14 21:00
RDTSC
指令 用于anti debug
1.使用
RDTSC
来anti-debug 以下内如引用intel指令手册。
hsmw
·
2014-02-23 22:00
RDTSC指令
rdtsc
备忘
from: http://stackoverflow.com/questions/6814792/why-is-clock-gettime-so-erraticstaticuint64_trdtsc(){ #ifdefined(__GNUC__) #ifdefined(__i386__) uint64_tx; __asm__volatile(".byte0x0f,0x31":"=A"(x)); r
whinah
·
2014-01-09 17:00
SetThreadAffinityMask设置使用多核CPU的哪个核心
http://blog.csdn.net/solstice/archive/2010/01/16/5196544.aspx多核时代不宜再用x86的
RDTSC
指令测试指令周期和时间虽然
RDTSC
废掉了,性能测试用的高精度计时还是有办法的
pizi0475
·
2014-01-02 20:48
C/C++
操作系统
其它文章
优化相关
QueryPerformanceFrequency,
RDTSC
,CPU频率
//warningC4035:'
RDTSC
':noreturnvalue #pragmawarning(disable:4035) #include //
RDTSC
-ReadTime-StampCounter
Augusdi
·
2013-09-02 23:00
VC++获得计算机CPU频率
. // //warningC4035:'
RDTSC
':noreturnvalue #pragmawarning(disable:4035) #include //
RDTSC
-ReadTime-StampCounter
Augusdi
·
2013-09-02 17:00
在C/C++程序中得到精确时间间隔的方法
此时可以利用一种直接利用PentiumCPU内部时间戳进行计时的高精度计时手段来实现,可以用
RDTSC
指令来得到这个时间戳,祥见Kacker的文章,在Programming版精华区X-4-11-8。
maochengtao
·
2013-05-13 21:00
对付虚拟执行
看看下面的程序#include #include//forint64_t #include #include int64_trdtsc() { __asm____volatile__("
RDTSC
sincoder
·
2013-05-04 17:00
[置顶] 编程之美
INT64start=0; intbusy=10; intidle=busy; cout usingnamespacestd; inline__int64GetCPUTickCount() { __asm {
rdtsc
aoxiangzhiguanjun
·
2013-05-03 12:00
编程之美
voidmain(){INT64start=0;intbusy=10;intidle=busy;coutusingnamespacestd;inline__int64GetCPUTickCount(){__asm{
rdtsc
翱翔之冠军
·
2013-05-03 12:00
编程
算法
QueryPerformanceFrequency,
RDTSC
,CPU频率
id=217//warningC4035:'
RDTSC
':noreturnvalue #pragmawarning(disable:4035) #include //
RDTSC
-ReadTime-StampCounter
zsc09_leaf
·
2012-12-02 17:00
测量程序运行时间的几个函数
摘要:本文详细的讨论了在windows平台中,测量程序运行时间的几个函数,GetTickCount,QueryPerformanceCounter和
RDTSC
,并给出示例代码。
hemeinvyiqiluoben
·
2012-11-15 11:00
汇编获取CPU机器周期个数
汇编获取CPU机器周期个数在Pentium以上的CPU中,提供了一条机器指令
RDTSC
(ReadTimeStampCounter)来读取这个时间戳的数字,并将其保存在EDX:EAX寄存器对中。
兔子的技术博客
·
2012-09-07 19:00
RDTSC
汇编指令详解
RDTSC
-读取时间标签计数器操作码指令说明0F31
RDTSC
将时间标签计数器读入EDX:EAX说明将处理器的时间标签计数器的当前值加载到EDX:EAX寄存器。时间标签计数器包含在64位MSR中。
whatday
·
2012-09-05 12:00
汇编
英特尔
RDTSC
汇编指令详解
RDTSC
-读取时间标签计数器操作码指令说明0F31
RDTSC
将时间标签计数器读入EDX:EAX说明将处理器的时间标签计数器的当前值加载到EDX:EAX寄存器。时间标签计数器包含在64位MSR中。
飘雪超人
·
2012-09-05 12:00
汇编
英特尔
时间戳计数器 TSC
TSC的值可以通过
rdtsc
指令来读取。TSC的节拍还可以转换为秒,转换方法是将其除以CPU的时钟速率(可以从内核变量cpu_khz获取)。在includ
sahusoft
·
2012-08-14 20:00
英特尔
利用Windows异常处理和
RDTSC
指令反调试学习
利用Windows异常处理和
RDTSC
指令反调试学习 最近在学习反调试,刚好学到用
rdtsc
指令反调试。
chence19871
·
2012-05-15 17:00
c
windows
exception
struct
float
byte
ffmpeg AT&T汇编转intel汇编 之(read_time)
函数原型:staticinlineuint64_tread_time(void) { uint32_ta,d; __asm__volatile("
rdtsc
":"=a"(a),
weinyZhou
·
2012-05-07 20:00
汇编
X86
AT&T
rdtsc
阅读更多staticvoid*thread_start(void*arg){printf("Subthreadstartinginfiniteloop\n");for(;;)continue;}staticvoidpclock(char*msg,clockid_tcid){structtimespects;printf("%s",msg);if(clock_gettime(cid,&ts)==-1
sunzixun
·
2012-05-07 09:00
rdtsc
static void * thread_start(void *arg) { printf("Subthread starting infinite loop\n"); for (;;) continue; }
sunzixun
·
2012-05-07 09:00
sc
关于
RDTSC
指令
RDTSC
意思是ReadTime-StampCounter意思是计算机启动后的CPU运行周期数的高位放到EDX中低位放到EAX中64位的整数不过注意的是获取多核CPU的周期数不太精确改用QueryPerformanceFrequency
ilysony
·
2012-04-11 21:00
汇编指令 -
RDTSC
刚刚遇到了
RDTSC
这个指令,没遇见过,查到资料如下。貌似说这个
RDTSC
指令是用来记录计算机启动以来CPU的周期数,保存在EDX:EAX中。
BetaBin
·
2012-03-03 00:00
如何获得高精度的CPU时间
rdtsc
.h#ifdefined(__i386__) static__inline__unsignedlonglongrdtsc(void) { unsigne
mazheng1989
·
2011-12-22 22:00
编程
任务
X86
获取CPU信息
获取CPU信息主要是利用汇编指令CPUID和
RDTSC
直接上代码://================================================================
agoago_2009
·
2011-11-25 14:00
poj 2262
poj2262 #include #include #include #include usingnamespacestd; /* unsigned__int64getClock() { __asm {
rdtsc
mazheng1989
·
2011-10-25 18:00
linux下应用程序获取时钟周期
不过可以通过以下宏获取到#definerdtscll(val)/__asm____volatile__("
rdtsc
":"=A"(val))
zkylqh123
·
2011-05-14 14:00
linux编程的108种奇淫巧计-16(如何达到内存最大带宽,复杂指令)【续】
rdtsc
函数是获取机器开机的时间戳。
pennyliang
·
2011-03-10 21:00
C++中获取高精度时间差
编写一个函数,可以在C++中这样写:__declspec(naked)unsigned__int64GetCpuCycle(void){_asm{rdtscret}}
RDTSC
的返回值存放在EDXEAX
wuyunteng
·
2011-01-31 15:00
C++中获取高精度时间差
编写一个函数,可以在C++中这样写: __declspec (naked) unsigned __int64 GetCpuCycle( void ) { _asm {
rdtsc
173806613
·
2011-01-31 09:00
C++
c
算法
C#
RDTSC
指令实现纳秒级计时器
X86 platform 从pentium开始,很多80x86微处理器都引入TSC,一个用于时间戳计数器的64位的寄存器,它在每个时钟信号(CLK, CLK是微处理器中一条用于接收外部振荡器的时钟信号输入引线)到来时加一。 通过它可以计算CPU的主频,比如:如果微处理器的主频是1MHZ的话,那么TSC就会在1秒内增加1000000。除了计算CPU的主频外,还可以通过TSC来测试微处理器其他处理
helloyesyes
·
2010-12-29 13:00
PHP
linux
算法
gcc
Gmail
RDTSC
指令
在Pentium以上的CPU中,提供了一条机器指令
RDTSC
(ReadTimeStampCounter)来读取这个时间戳的数字,并将其保存在EDX:EAX寄存器对中。
kkk8000
·
2010-12-28 17:00
获取CPU时间戳代码 使用CPU时间戳进行高精度计时
获取CPU时间戳代码使用CPU时间戳进行高精度计时看一段程序用到了
RDTSC
搜了了解了下,当时用途需要生成一个独一无二的ID来标志世界中所有的物体,用到了时间戳这个概念__int64GetCPUTime
前进的路上
·
2010-12-08 13:00
获取CPU时间戳代码 使用CPU时间戳进行高精度计时
在Pentium以上的CPU中,提供了一条机器指令
RDTSC
(ReadTimeStampCounter)来读取这个时间戳的数字,并将其保存在EDX:EAX寄存器对中。
evil_darker
·
2010-11-30 18:00
timer
windows
Microsoft
平台
图形
程序开发
linux编程的108种奇淫巧计-2(
RDTSC
)【续】
如果我们想准确的知道一段程序,一个函数的执行时间,可以连续执行2次
rdtsc
,之间没有一行代码,来计算这两段指令执行过程会有的cycle数,不同机器可能都会有不同,和机器的性能有关系,但和负载没关系,也
pennyliang
·
2010-11-11 16:00
多线程
编程
linux
float
平台
X86
linux编程的108种奇淫巧计-2(
RDTSC
)【续】
如果我们想准确的知道一段程序,一个函数的执行时间,可以连续执行2次
rdtsc
,之间没有一行代码,来计算这两段指令执行过程会有的cycle数,不同机器可能都会有不同,和机器的性能有关系,但和负载没关系,也就是多进程
javayestome
·
2010-11-11 16:00
多线程
编程
linux
.net
Blog
linux编程的108种奇淫巧计-2(
RDTSC
)
通常我们需要对程序运行的准确时间进行测量,但多线程,多核环境下,这变得很困难,我们有没有一种比较通用简单的方法来做到这一点呢?这些方法都存在哪些问题,如何改进可以抵消这些误差呢? 本文将介绍这里的来龙去脉,还是从一段小程序开始。 #include <stdlib.h>#include <stdio.h> #if defined(__i386__) static
javayestome
·
2010-10-21 12:00
多线程
编程
linux
.net
performance
linux编程的108种奇淫巧计-2(
RDTSC
)
通常我们需要对程序运行的准确时间进行测量,但多线程,多核环境下,这变得很困难,我们有没有一种比较通用简单的方法来做到这一点呢?这些方法都存在哪些问题,如何改进可以抵消这些误差呢? 本文将介绍这里的来龙去脉,还是从一段小程序开始。 #include#include #ifdefined(__i386__)static__inline__unsignedlonglongrdtsc(v
pennyliang
·
2010-10-21 12:00
linux编程的108种奇淫巧计-2(
RDTSC
)
通常我们需要对程序运行的准确时间进行测量,但多线程,多核环境下,这变得很困难,我们有没有一种比较通用简单的方法来做到这一点呢?这些方法都存在哪些问题,如何改进可以抵消这些误差呢? 本文将介绍这里的来龙去脉,还是从一段小程序开始。 #include <stdlib.h>#include <stdio.h> #if defined(__i386__) static
isiqi
·
2010-10-19 16:00
多线程
编程
linux
.net
performance
C++中获取高精度时间差
编写一个函数,可以在C++中这样写:__declspec (naked) unsigned __int64 GetCpuCycle( void ){ _asm {
rdtsc
guodongshan
·
2010-10-06 21:00
C++中获取高精度时间差
编写一个函数,可以在C++中这样写:__declspec(naked)unsigned__int64GetCpuCycle(void){_asm{rdtscret}}
RDTSC
的返回值存放在EDXEAX
surgent
·
2010-09-30 10:00
C++
c
算法
平台
X86中的
RDTSC
指令
Intel的X86中的
RDTSC
即ReadTimeStampCounter读取时间计数器的指令。这个指令读取CPU时间计数器,返回一个无符号的64位整数。
BoYueJiang
·
2010-07-10 11:00
多线程
timer
windows
测试
图形
X86
获取CPU时间戳代码 使用CPU时间戳进行高精度计时
获取CPU时间戳代码使用CPU时间戳进行高精度计时在Pentium以上的CPU中,提供了一条机器指令
RDTSC
(ReadTimeStampCounter)来读取这个时间戳的数字,并将其保存在EDX:EAX
李帅的博客
·
2010-06-09 14:00
访问 CR4寄存器
CR4寄存器 voidNTAPIHookInt_0D(){ //设置CR4寄存器的TimeStampDisable位,ring3执行
rdtsc
会引发#GP(0) //接管0D中断 PINT_VECTOR
laokaddk
·
2010-05-12 17:51
ASM
职场
休闲
CR4
访问 CR4寄存器
CR4寄存器 voidNTAPIHookInt_0D(){ //设置CR4寄存器的TimeStampDisable位,ring3执行
rdtsc
会引发#GP(0) //接管0D中断 PINT_VECTOR
laokaddk
·
2010-05-12 17:51
ASM
职场
休闲
CR4
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他