Правда почему в программе, где отсутствуют IF ELSE изменяется время выполнения - вопрос. Возможно не правильно разделены потоки программы и обмена по порту.
Например опрос аналоговых входов, выходов идёт раз в секунду, один цикл есть опрос, другой цикл, нет ороса, вот и скачет время.