10
Linux çekirdeğindeki olası / olası olmayan makrolar nasıl çalışır ve faydaları nelerdir?
Linux çekirdeğinin bazı bölümlerini araştırıyorum ve şu şekilde aramalar buldum: if (unlikely(fd < 0)) { /* Do something */ } veya if (likely(!err)) { /* Do something */ } Bunların tanımını buldum: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0) Optimizasyon için olduklarını biliyorum, ama nasıl çalışırlar? Ve bunları kullanmaktan ne kadar …