2016-07-31 4 views
0

Запуск .exe наличие эффекта эффектов Debug.WriteLine() 8x.
Как может эффект эффективности отчета Debug не отлаживаться?
Как я могу добиться отладки неэффективности .exe?
counterRequals ссылается после того, как он не может просто пропустить.
Это, если наносится более 1 миллиарда раз.Debug.WriteLine, обеспечивающий не отладочную производительность

if (innerInnerLoopCount > 1 && r == innerInnerLoopCount) 
{ 
    counterRequals++; 
    Debug.WriteLine(""); 
} 
+6

Члены 'Debug' имеют присвоенный [ConditionalAttribute] (http://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute.aspx), чтобы они не присутствовали в' Release 'режим. Похоже, вы используете сборку «Debug» без отладчика. Если вам нужна функция «Отладка», подумайте об использовании класса [Trace] (https://msdn.microsoft.com/en-us/library/system.diagnostics.trace (v = vs.110) .aspx), хотя вы, возможно, столкнетесь с первыми проблемами с 1bn-хитами. Можно рассмотреть [EventSource] (https://msdn.microsoft.com/en-us/library/system.diagnostics.tracing.eventsource.aspx) – keyboardP

+3

Просто потому, что вы не отлаживаете, это не значит, что вы не компилировали в режиме отладки. Вы компилировались в режиме Debug или Release? – sstan

+1

Оператор && стоит дорого, если левое выражение оператора плохо предсказуемо, ошибка предсказания ветвления может сделать операцию примерно в 5 раз медленнее. Умножьте это на миллиард, и у вас есть около 2 секунд, ничего полезного. Поменяйте операнды. И * do * предпочитают быструю версию, которая вообще не использует ветвление: 'if (r == innerInnerLoopCount & innerInnerLoopCount> 1)' –

ответ

1

Debug члены имеют ConditionalAttribute возложенные на них, чтобы они не будут присутствовать в режиме Release. Похоже, что вы запускаете сборку Debug без отладчика. Если вам нужна функция отладки, подумайте об использовании Trace class, хотя вы, возможно, нажмете первичную проблему с 1bn-хитами. Если это так, вы можете посмотреть EventSource, что может позволить вести учет высокой производительности.

Смежные вопросы