10
Як працюють імовірні / малоймовірні макроси в ядрі Linux і яка їх користь?
Я копав деякі частини ядра Linux і знаходив дзвінки на зразок цього: if (unlikely(fd < 0)) { /* Do something */ } або if (likely(!err)) { /* Do something */ } Я знайшов їх визначення: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0) Я знаю, що вони для оптимізації, але як вони …