的問題是:這是更快地做到這一點:在循環中比較或重新分配布爾值是否更快?
if (!self.isStarted)
{
self.started = YES;
}
或者乾脆:
self.started = YES;
,並在每個傳遞迴路重新分配的值。
的問題是:這是更快地做到這一點:在循環中比較或重新分配布爾值是否更快?
if (!self.isStarted)
{
self.started = YES;
}
或者乾脆:
self.started = YES;
,並在每個傳遞迴路重新分配的值。
條件較慢,並不像簡單地將該變量設置爲YES那樣清晰。你的代碼的重點在於,當你離開那段代碼之後,你想確保變量是YES,並且由於操作在事物的宏觀方案中如此便宜,所以爲了便於閱讀,並且在事先沒有檢查的情況下將其設置爲YES 。
雖然編譯器可能會優化這一點,但是self.started = YES;
會更快,因爲它節省了必須從內存中檢索值並進行比較的開銷。此答案僅適用於低級語言;更高級的語言將取決於實現。
這是在objective-c中,我想知道是否準備記憶比寫作要快 –
1)這取決於2)沒關係 – SLaks
您是否嘗試過對兩種不同方法進行基準測試?你正在使用哪種語言? :) – summea
你可以exmplain –