c#优化掉一些日志语句

标签 c# performance

我有几段代码非常占用处理器资源。我在那里有用于内部部署和测试的调试语句,但是当我部署到我的客户站点时,我想做一个没有这些的构建。我目前使用:

 ifIsDebugEnabled() 

包装日志消息,但这也占用了处理器时间,当我评论所有注销时,性能得到改善。有没有标准的方法来解决这个问题,或者我可以做其他事情吗?

谢谢, 理查德

最佳答案

要优化方法调用,您可以将 ConditionalAttribute 放在方法上。像这样:

[Conditional("DEBUG")]
void SomeDebugMethod(string message) { 
    // ...
}

如果代码是在除 DEBUG 之外的其他配置中编译的,将删除对该方法的调用。

如果您有能力将调试逻辑放在方法中,这比使用像 #ifdef DEBUG .. #endif 这样的指令看起来更简洁。

关于c#优化掉一些日志语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6569860/

相关文章:

c# - 如何修复错误 NETSDK1 找不到 project.assets.json 文件。运行 NuGet 包还原以生成此文件

c# - 为什么 Entity Framework 不生成代理?

android - Timertask 或 Handler

performance - 如何记录和绘制 Java 应用程序的对象生命周期?

c# - 如何在 WPF 中为 Viewport3D 控件切换到线框显示模式?

c# - StreamReader 因目录错误而失败?

c# - 访问 C# float[] 作为 byte[]

php - IIS - Mysql 性能问题

Java 编译速度 vs Scala 编译速度

mysql - JPQL性能分析