Quanto a ordem dos rótulos de caso afeta a eficiência das instruções switch?

Considerar:

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

Se eu sei dissocondition1 serátrue na maioria das vezes, eu deveria codificar a lógica como escrita, em vez de:

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

desde que eu vou evitar a penalidade dojump para o segundo bloco de código (nota: tenho conhecimento limitado da linguagem de montagem). Essa idéia leva adiante paraswitch declarações ecase rótulos?

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

    case Case2:
        // Code block 2
        break;

    // etc.
}

Se eu souber que um dos casos acontecerá com mais frequência, posso reorganizar a ordem docase rótulos para que seja mais eficiente? Eu devo? No meu código eu tenho ordenado alfabeticamente os rótulos de caso para legibilidade de código sem realmente pensar sobre isso. Isso é micro-otimização?