C# C语言中的性能跟踪#
我想跟踪c#mobile应用程序的性能,以便了解一些长时间运行的方法所需的时间。目标是了解方法级别的性能。这种跟踪将在运行时决定 第一个想法是维护一个全局变量“doWeHaveToTrace”,在每次调用一个潜在的可跟踪方法时检查它,并在该变量为真时跟踪它。在本例中,我可能会使用记录器或TraceListener将跟踪信息写入文件 但我认为这种机制相当繁重,因为每个方法中都必须检查一个变量,并且必须对记录器调用进行编码 我还考虑过方面编程(在C# C语言中的性能跟踪#,c#,performance,logging,mobile,trace,C#,Performance,Logging,Mobile,Trace,我想跟踪c#mobile应用程序的性能,以便了解一些长时间运行的方法所需的时间。目标是了解方法级别的性能。这种跟踪将在运行时决定 第一个想法是维护一个全局变量“doWeHaveToTrace”,在每次调用一个潜在的可跟踪方法时检查它,并在该变量为真时跟踪它。在本例中,我可能会使用记录器或TraceListener将跟踪信息写入文件 但我认为这种机制相当繁重,因为每个方法中都必须检查一个变量,并且必须对记录器调用进行编码 我还考虑过方面编程(在before()和after()方法中插入跟踪代码),
before()
和after()
方法中插入跟踪代码),但我认为在这个项目中不允许方面编程
所以我想知道,有没有其他好的机制可以提供这样的性能跟踪?是否可以跟踪整个方法?是否决定在运行时停止或恢复跟踪?不确定要跟踪什么,但如果要跟踪长时间运行的方法之间的时间,可能最好还是挂接到。这是一个 商业档案器将是另一个更简单的选择。了解如何在.NET中使用(假设您使用的是.NET)。跟踪和调试类将为您提供开发所需的所有运行时输出。然后,只需删除跟踪编译器指令,即可删除已部署应用程序中的所有调试/跟踪代码(以及相关的运行时开销) 或
您可以使用外部评测应用程序来进行性能和内存评测。请看这里(来自StackOverflow.com):您可以在桌面计算机上,在IDE下运行它,并执行常规操作,比如计时和/或 你一定会发现事情需要时间,而且可能会加速