調試c程序的基本步驟,c語言尋找最小路集,尋找一個準確的方法來用C語言編寫微基準小的代碼路徑++和在Linux / OSX上運行...

 2023-10-04 阅读 27 评论 0

摘要:您可以使用 在x86 / x86_64的處理器指令。對于多核系統檢查CPUID(在Linux的/ proc內/ cpuinfo)中的“constant_tsc”的能力 - 這將意味著所有內核使用相??同的時鐘計數器,即使是動態變化的頻率和睡眠 P> 如果您的處理器不支持constant_tsc,一定要捆綁你PROGR

您可以使用 在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)

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/111883.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息