На MSDN странице Stopwatch class я обнаружил ссылку на interesting article, который делает следующее заявление о Секундомере:Действительно ли Секундомер разбит?
Однако есть некоторые серьезные проблемы:
Это может быть ненадежным на ПК с несколькими процессорами. Из-за ошибки в
BIOS, Start() и Stop() должны быть выполнены на одном процессоре, чтобы получить правильный результат.Это ненадежно на процессорах, у которых нет постоянных часов скорость (большинство процессоров могут уменьшить тактовую частоту, чтобы сохранить энергию ). Это подробно объясняется here.
Я немного запутался. Я видел tons of examples использования секундомера, и никто не упоминает об этом недостатках. Насколько это серьезно? Следует ли избегать использования секундомера?
В случае интенсивных тестов CPU вы, вероятно, правы. Но в случае асинхронного ввода-вывода вещи могут быть совершенно разными. –
Я не согласен с вашим первым заявлением. У меня был один из этих сломанных компьютеров, и он появился довольно часто. Это даже разбило игры из-за времени, идущего назад. – CodesInChaos