有下面兩種情況之間的性能差異:
第一:以下兩種情況有什麼不同?
int test_some_condition(void);
if(some_variable == 2 && test_some_condition())
{
//body
}
二:
int test_some_condition(void);
if(some_variable == 2)
{
if(test_some_condition())
{
//body
}
}
更新:我知道如何創建一個測試和測量性能或者看看爲每個案例生產的程序集,但我相信我不是第一個遇到這個問題的人,如果已經測試過的人會很棒這可以是我一個簡單的是/否的答案。
把自己的編譯器作者的鞋。你將如何實現'&&'? –
運行每次測試幾百萬次並測量找出的時間。編譯並查看使用'objdump'生成的彙編程序 –
即使存在差異,再添加一級縮進通常也不值得提高性能。 –