Ясно, видимо русский не твой родной язык. Без обид.
А изначальный вопрос у тебя какой вообще? Я выше прочел, нашел, что ты делаешь прием/чтение каких то данных.
- Это все на микроконтроллере или на пк?
- Какие скорости у тебя передачи данных в задаче стоят?
- Почему ты обращаешь внимание на столько тщательно к условиям и тд - у тебя маломощный мк или слишком быстрый канал данных?
Не знаю твой уровень программирования, есть умельцы, которые держат всю программу в голове, даже если там много файлов и тысячи строк кода и с уверенностью могут сказать, что вышестоящие функции проверяют все необходимые данные, тогда они опускают кучу проверок на нижних уровнях программы.
Но если ты будешь убирать проверки, то код в итоге станет по сути монолитным и даже маленькие изменения могут привести к плавающим багам, которые будет трудно потом отловить. И это уже код для машины, а не для человека получается, что плохо.
Поэтому еще раз вопрос - для чего ты так сильно акцентируешь внимание на производительности - просто для интереса или есть трудная задача? Возможно есть другие пути ее решить более лаконично, например увеличив частоту тактирования микроконтроллера, что часто возможно.