В данной реализации время выполнения блока - 35mcs.
Столько длится смена отображаемого символа и сегмента.
В данной реализации время отображения сегмента - время между вызовами блока = время цикла.
Если проект не большой - часто, если разростается - реже, могут всплыть и мерцания.
Как я уже писал - добавить аппаритный таймер, вызывать по прерыванию через xx ms/mcs.
Тормозов совсем не вижу.
Если есть свободные ноги и монтажный формат допускает - почему нет?