guy*_*uyl 3 c# statistics logging attributes
我正在尝试考虑输入统计信息和某种登录程序的最佳方法.1.有没有人有一篇关于在程序中实施的统计数据的好文章?
2.我可以创建一个属性,以便在某个方法之前调用计时器来测量运行所花费的时间吗?例如
class A
{
[RunTimer]
public void Foo()
{
// do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
好我们希望有机会在运行时控制统计数据,而不仅仅是ob dev或QA时间.
一种选择是创建一个高阶函数,它将为目标函数计时并记录结果:
public static class TimingExtensions
{
public static Func<R> Time<R>(this Func<R> target, Action<string> logger)
{
return delegate
{
System.Diagnostics.Stopwatch s = new System.Diagnostics.Stopwatch();
s.Start();
R value = target();
s.Stop();
logger("Function '" + target.Method.Name + "' elapsed ms: " + s.ElapsedMilliseconds);
return value;
};
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果你需要进行一些重要的性能测试,那么那里也有框架.
| 归档时间: |
|
| 查看次数: |
1578 次 |
| 最近记录: |