System.Diagnostics.Trace开销

时间:2011-04-25 15:27:31

标签: .net c#-2.0 system.diagnostics

我有一个应用程序,几乎在它使用的每个方法中都使用Trace.WriteLine。该计划有几个不同的问题。

我想知道是否经常使用System.Diagnostics.Trace.WriteLine会产生任何开销?我希望解决问题,因为我发现它们并且我个人觉得在程序中几乎每一种方法都使用Debug / Trace WriteLine会带来性能成本。

编写此应用程序的程序员很匆忙,还包括一些过去给我们造成麻烦的资产陈述。

1 个答案:

答案 0 :(得分:5)

可能 Trace可能会导致应用程序出现性能问题。特别是如果它在程序中的每一种方法中使用。

幸运的是Trace.WriteLine附加了Conditional属性:跟踪。如果编译没有定义Trace的应用程序,它将编译,就像调用根本不存在一样。这样您就可以快速进行眼球测试,看它是否会影响性能。

知道的唯一方法是将应用程序挂钩到分析器。这将明确告诉您Trace.WriteLine是否适合您的应用程序。