likely-unlikely

Jak działa prawdopodobne / nieprawdopodobne makra w jądrze Linuksa i jakie są z nich korzyści?

Grzebałem w niektórych częściach jądra Linuksa i znalazłem takie wywołania: if (unlikely(fd < 0)) { /* Do something ... I czy warto (i utraty przenośności prawdopodobnie) przynajmniej w wąskim gardle kodu (w przestrzeni użytkownika, oczywiście).

prawdopodobny / mało prawdopodobny odpowiednik dla MSVC

Kompilator GCC obsługuje instrukcję _ _ builtin _ expect, która jest używana do definiowania makr prawdopodobnych i nieprawdo ... _builtin_expect((expr), 0) Czy istnieje równoważne oświadczenie dla kompilatora Microsoft Visual C, lub coś równoważnego ?