Для некоторых частных проектов я использую Stopwatch
для измерения производительности.Секундомер для тестирования производительности
Но при низком количестве повторных звонков, которые я хочу измерить, я получаю 0 ElapsedMilliseconds
, , что затрудняет вычисление среднего значения.
Я думал о написании собственного класса секундомера. Он мог рассчитать с помощью клещей и дать неопределенный ElapsedMicroseconds
на основе Stopwatch.ElapsedTicks
и TimeSpan.TicksPerMillisecond
. Это, вероятно, будет не очень хорошим способом.
Мне определенно нужно что-то, что подкреплено высокопроизводительными счетчиками winapi, , так что datetime и такого не хватит.
Есть ли другие идеи?
Вы * будет * есть чтобы сделать много и много вызовов этой функции, чтобы получить хорошее измерение. Вы сказали, что хотите получить электронное пособие. Запустите кучу и разделите. Это даст вам более точную оценку скорости. –
Я делаю 2 000 000 звонков и вычисляю среднее. Но я думаю, что должен быть лучший способ измерить меньшие суммы. –
Моя точка зрения заключается не в том, чтобы добавлять друг к другу каждый, а просто взять общее время для 2 000 000 и разделить. Чем меньше измерение вы пытаетесь принять, тем более неточным оно будет. –