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