2016-02-02 45 views
0

假設我們有以下方法一個方法調用是否需要一個CPU週期?

private int add(int num_1, int num_2) 
{ 
    return num_1+num+2; 
} 

是否調用此方法會消耗一個CPU週期? 由於1 GHz的週期有10億個週期。

+0

週期數/秒與特定動作所需的週期數沒有直接關係。無論如何,你們很多人都有興趣研究這種C程序/函數的'彙編'轉儲,或者查看[函數ABI /調用約定](https://en.wikipedia.org/wiki/X86_calling_conventions)到給出應用的不同步驟的總體思路;然後在函數本身內部完成工作.. – user2864740

+0

這將取決於產出的程序集和CPU - 如果num_1和num_2不在緩存中,它可能需要更多(通常會) – Carsten

回答

0

不可以考慮函數調用sleep(5000),這會導致您的代碼暫停5秒。這將需要超過1個時鐘週期。

相關問題