Sta*_*ful 4 c# performance perfview
我的日志库中有这段代码
var stackTrace = new StackTrace();
string operationName = stackTrace.GetFrame(1).GetMethod().Name;
Run Code Online (Sandbox Code Playgroud)
根据我使用 PerfView 工具进行的性能分析,它显示为
有谁知道我添加的代码对性能的影响?如果是,是否有其他方法可以获取方法名称而不会对性能产生更大的影响?
我目前在 4 核机器上以 1000 TPS 的速度运行它。我发现它使用了我的 CPU 的 15.1%
从 C# 5 开始,让编译器将其烘焙到调用站点中肯定会更好,使用[CallerMemberName]
public void Log(string message, [CallerMemberName] caller = null)
{
}
Run Code Online (Sandbox Code Playgroud)
然后:
public void DoSomething()
{
logger.Log("A message");
}
Run Code Online (Sandbox Code Playgroud)
...由 C# 编译器转换为
public void DoSomething()
{
logger.Log("A message", "DoSomething");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
980 次 |
| 最近记录: |