Что это за ошибки DebugManager и WinIOErrors внутри метода вызова рабочего процесса?

Я запускаю профилировщик производительности ANTS в своей службе Windows, чтобы оптимизировать его. Так я узнал, что выполнение одного моего рабочего процесса составляет около 436 миллисекунд. Я просмотрел все методы, выполняемые внутри метода вызова моего рабочего процесса, и нашел результат, как показано на изображении ниже.

Результат профилировщика производительности ANST (внутри метода Invoke рабочего процесса

Что такое DebugManager выше? Почему возникает WinIOError? Извините за нубские вопросы, ребята, я просто потерялся здесь. Я действительно просто хочу сократить время выполнения, если это возможно.


person hisoka21    schedule 27.02.2013    source источник


Ответы (1)


Похоже, вы запускаете отладочную сборку из VS, и это никогда не лучший способ измерить реальную производительность, поскольку это означает, что оптимизация во время выполнения отключена.

В любом случае, если вы ищете максимальную производительность, WF4 не подходит. Из-за асинхронного характера выполнения WF4 его всегда будет сложно предсказать. И всегда есть немного накладных расходов со средой выполнения и всеми задействованными действиями, а это означает, что простая функция C # всегда будет работать быстрее.

person Maurice    schedule 27.02.2013
comment
Привет, Морис, я запускаю сборку Release из VS, поэтому мне это интересно. - person hisoka21; 27.02.2013
comment
Может быть, это всегда в трассировке стека. Никогда не замечал этого раньше, но он находится глубоко во внутренних частях WF4. - person Maurice; 27.02.2013