您可以使用 在x86 / x86_64的處理器指令。對于多核系統檢查CPUID(在Linux的/ proc內/ cpuinfo)中的“constant_tsc”的能力 - 這將意味著所有內核使用相??同的時鐘計數器,即使是動態變化的頻率和睡眠 P>
如果您的處理器不支持constant_tsc,一定要捆綁你PROGRAMM核心( 在Linux工具)。 P>
調試c程序的基本步驟。在上亂序的CPU使用RDTSC(所有除了英特爾凌動,可能是其他一些中低端的CPU),前添加一個“訂購”指令,例如“CPUID” - 它會暫時禁用指令重新排序 P>
此外,MacOSX上有“鯊魚”,它可以測量你的代碼的一些硬件事件。 P>
RDTSC和亂序的CPU。這個偉大的霧手冊(主要它的網站的第18條是http://www.agner.org/optimize/ < / A>) p>
計算機為什么采用二進制表示信息、 [ http://www.scribd.com/doc/1548519/optimizing-assembly < / A> p> >
在具有亂序執行所有的處理器,你必須插入XOR EAX,EAX / CPUID 之前,為了防止它在并行執行計數器的每個讀出后 與別的。 CPUID是一個串行化指令,這意味著它刷新 管道并等待所有未決操作繼續之前完成。這是非常有用 用于測試目的。 P> 塊引用>
這是我在過去的習慣: P>
c語言一次性輸入多個數據、和則: P>
這將引用到微秒。 P>
](http://www.scribd.com/doc/1548519/optimizing-assembly)
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态