Насколько порядок меток регистра влияет на эффективность операторов switch?

Рассмотреть возможность:

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

Если я знаю чтоcondition1 будетtrue большую часть времени, тогда я должен кодировать логику как написано, вместо:

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

так как я буду избегать наказанияjump ко второму блоку кода (примечание: у меня ограниченные знания ассемблера). Продолжает ли эта идеяswitch заявления иcase этикетки?

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

    case Case2:
        // Code block 2
        break;

    // etc.
}

Если я знаю, что один из случаев будет происходить чаще, могу ли я изменить порядок следованияcase ярлыки, чтобы он был более эффективным? Нужно ли мне? В моем коде я упорядочил метки кейсов в алфавитном порядке для удобства чтения кода, не задумываясь об этом. Это микрооптимизация?