【发布时间】:2013-03-20 22:09:39
【问题描述】:
我们最近在我们的代码库中引入了PostSharp,并且我们的 ASP.NET MVC 项目的编译时间翻了一番甚至翻了两番。我们的解决方案中有大约 3 个 MVC 项目和大约 8 个类库项目。
显然会有与 PostSharp 相关的开销,因为它是 modifying the MSIL code。但是 2 到 4 倍的开销是相当大的开销。
这是 PostSharp 的典型情况吗?
【问题讨论】:
我们最近在我们的代码库中引入了PostSharp,并且我们的 ASP.NET MVC 项目的编译时间翻了一番甚至翻了两番。我们的解决方案中有大约 3 个 MVC 项目和大约 8 个类库项目。
显然会有与 PostSharp 相关的开销,因为它是 modifying the MSIL code。但是 2 到 4 倍的开销是相当大的开销。
这是 PostSharp 的典型情况吗?
【问题讨论】:
对于您确定 PostSharp 不会执行任何注入的程序集,您可以在项目的 构建选项卡 的条件编译符号中添加标志 SkipPostSharp。
希望这会有所帮助。
【讨论】:
2 倍的典型开销是正常的。加速 PostSharp 1.5 的最重要方法是使用生成图像(安装程序会为您完成)。在 PostSharp 2.0 中,生成的图像不再被认为那么重要。
如果 PostSharp 2.0 的开销确实是 4 倍,我想对您的案例进行一些性能分析。
【讨论】: