Я знаю, что обычный способ сравнительного анализа — это создать экземпляр секундомера и использовать его для измерения прошедшего времени, однако мне интересно, подойдет ли секундомер в этом случае, поскольку например, это будет зависеть от планирования. Мой подход гарантирует измерение только времени, которое процесс тратит на выполнение.
Мои два вопроса:
Я Я ошибаюсь, полагая, что секундомер в этом случае будет менее точным или худшим выбором?
Насколько точен Process.TotalProcessorTime? Я вижу, что он вызывает метод ядра32 «GetProcessTimes», но мне трудно найти информацию о том, как на самом деле работает этот метод. Между тем, имеется много информации о методе QueryPerformanceCounter, который использует секундомер.
Я пытаюсь измерить время выполнения процессов в C#. Вот код, который я использую для этого: [code]private static double TimeProcess(string name, string workingDirectory, string arguments) { Process process = new Process(); process.StartInfo.WorkingDirectory = workingDirectory; process.StartInfo.FileName = name; process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; process.StartInfo.CreateNoWindow = true; process.StartInfo.Arguments = arguments;
process.Start(); process.WaitForExit();
return process.TotalProcessorTime.TotalMilliseconds; } [/code] Я знаю, что обычный способ сравнительного анализа — это создать экземпляр секундомера и использовать его для измерения прошедшего времени, однако мне интересно, подойдет ли секундомер в этом случае, поскольку например, это будет зависеть от планирования. Мой подход гарантирует измерение только времени, которое процесс тратит на выполнение. Мои два вопроса: [list] [*]Я Я ошибаюсь, полагая, что секундомер в этом случае будет менее точным или худшим выбором? [*]Насколько точен Process.TotalProcessorTime? Я вижу, что он вызывает метод ядра32 «GetProcessTimes», но мне трудно найти информацию о том, как на самом деле работает этот метод. Между тем, имеется много информации о методе QueryPerformanceCounter, который использует секундомер. [/list]
My Java Process периодически отстает от 2025-08-14 09:36:10 до 2025-08-14 09:36:16.
Всегда отображается в случайное время.
В журнале VMStat показывает, что использование КПУ уменьшается, переключение потока уменьшается, и все это было...
My Java Process периодически отстает, с 2025-08-14 09:36:10 до 2025-08-14 09:36:16. Он всегда отображается в случайное время.
Журнал VMStat показывает, что использование ЦП уменьшилось, переключение потока уменьшилось, и все прерывания были...
ОК, я использую ThreadPool для запуска потоков. Внутри кода потока я пытаюсь выяснить, сколько процессорного времени он фактически использовал. Я читал, что есть ProcessThread . Свойство TotalProcessorTime для этого ( но я просто не могу его...
(В частности, я использую Graphics2D, но он наследует метод fillArc() от Graphics, поэтому я перечислил вопрос в этом классе.)Метод fillArc принимает параметры в следующем порядке:
fillArc(int x, int y, int width, int height, int startAngle, int...