Я пишу критический фрагмент кода примерно со следующей логикой
if(expression is true){
//do something with extremely low latency before the nuke blows up. This branch is entered rarely, but it is the most important case
}else{
//do unimportant thing that doesnt really matter
}
Я думаю использовать макрос вероятно()
вокруг выражения, поэтому, когда он попадает в важную ветку, я получаю минимальную задержку.
Мой вопрос заключается в том, что использование действительно противоположно предложению имени макроса, потому что я выбираю маловероятнуюветвь для предварительной выборки, т. е. важная ветвь вряд ли произойдет, но она наиболее критическаявещь, когда это происходит.
Есть ли в этом явный недостаток с точки зрения производительности?