Jak bardzo kolejność etykiet spraw wpływa na wydajność instrukcji przełączników?

Rozważać:

if (condition1)
{
    // Code block 1
}
else
{
    // Code block 2
}

Jeśli to wiemcondition1 będzietrue przez większość czasu powinienem kodować logikę tak, jak napisano, zamiast:

if (!condition1)
{
    // Code block 2
}
else
{
    // Code block 1
}

ponieważ uniknę karyjump do drugiego bloku kodu (uwaga: mam ograniczoną znajomość języka asemblera). Czy ten pomysł niesie dalejswitch oświadczenia icase etykiety?

switch (myCaseValue)
{
    case Case1:
        // Code block 1
        break;

    case Case2:
        // Code block 2
        break;

    // etc.
}

Jeśli wiem, że jeden z przypadków będzie się zdarzał częściej, czy mogę zmienić kolejnośćcase etykiety, dzięki czemu jest bardziej wydajny? Czy powinienem? W moim kodzie zamawiam etykiety przypadków alfabetycznie, aby zapewnić czytelność kodu bez zastanawiania się nad tym. Czy to mikro-optymalizacja?

questionAnswers(9)

yourAnswerToTheQuestion