Например, я знаю, что он определен для gcc и используется в ядре Linux как:
#define likely(x) __builtin_expect((x),1)
#define unlikely(x) __builtin_expect((x),0)
Если в С# ничего подобного не возможно, это лучшая альтернатива ручному переупорядочиванию if-statement, сначала ставя наиболее вероятный случай? Существуют ли другие способы оптимизации на основе этого типа внешних знаний?
В соответствующей заметке CLR знает, как идентифицировать предложения охраны и предполагает, что будет использоваться альтернативная ветвь, что делает эту оптимизацию неуместной для использования в защитных кланах, правильно?
(Обратите внимание, что я понимаю, что это может быть микро-оптимизация, я интересуюсь только академическими целями.)