Pull to refresh

Comments 2

От автора оригинально поста:
(мы не тратим время на чтение секунд и на дальнейшие проверки
Мы не тратим время только на чтение секунд, потому что дальнейших проверок нет.
Мой первый вариант (который я не помещал в статью) предусматривал возвращение именно 0, поскольку любое значение от 0 до текущего значения счетчика является валидным в том смысле, что не дает прошлого либо будущего, но потом было придумано повторное чтение счетчика. Да, это займет время чуть большее, чем просто сделать 0, но точность при повторном чтении все-таки лучше, а проигрыш в исполнении я принял несущественным.
Если у нас действительно сильно нагруженная система, то, конечно, особой разницы нет, а вот если прерывание не было фатально длинным (не привело к многократному прокручиванию старших разрядов), то тогда разница есть.
А вообще то, спасибо, Вы подробно описали ситуации, от которых мы и убегаем, я больше сосредотачивался на коде, а вот описания явно не хватало.
Согласен полностью, что задача получения времени очень сильно зависит от юз кейса. К тому же никто не отменяет того, что современные микроконтроллеры или SoC'и содержат в камне модуль RTC(не уверен, что на всех камнях он именно так называется), который как раз независимо от нагрузки центрального ядра сам ведёт подсчёт секунд, миллисекунд, минут и т.д. и выдаёт уже основной программе, либо другой интегрированной схеме время в атомарном виде.
Sign up to leave a comment.

Articles

Change theme settings