一个.NET 一个.
NET 代码性能分析工具
更具体的请看:
visicode/ Features
?Low overhead, high resolution event auditing. VisiCode uses lockless, x86-optimized, invariant code, and smart buffering to minimize the overhead of event auditing. There are no software locks in the audit path, insuring maximum concurrency and the least possible inter-thread side effects. Buffer sizes and virtual memory page locking are configurable to allow you to select the optimum working set tradeoffs. Events times use the CPU clock timestamps to provide the best possible analysis precision. Click on the image on the right to show a sample of events occurring within a 2 microsecond period. ?Selective Profiling. Profiling of every method invocation can produce enormous amounts of data. Sometimes this can lead to lack of focus and slow rendering. VisiCode allows you to select the areas of profiling interest by identifying namespaces or classes to include or exclude. Of course, there are cases where you want to capture everything to see the whole picture. VisiCode allows you to easily switch between these modes using a flexible configuration model. The example on the right includes the entire System namespace of the windows forms application. Click for detail. ?Concurrency visualization. VisiCode renders not only the events themselves but the event relations, allowing you to easily spot inter-thread effects such as concurrency and contention. Click on the image on the right to show a Viewer screen shot of a fragment of a multi-threaded program. ?Event Distribution. Mean, min, and max times don't tell the whole the story for most events. Typically the outliers and the deviation are the real interest. VisiCode shows the distribution of events over time as well as the median and standard deviation. Click on the image on the right for a shot of event distribution data. ?Summary Data. Like standard profilers, VisiCode provide summary data showing the total count and elapsed time, plus min, max, and mean elapsed times for all events in the sample. The summary is sortable by each field. Click on the image on the right for detail. ?JITs and CLR events. You can optionally enable JIT monitoring which includes all just-in-time
compilations in the profiling data. In addition to JITs, the system automatically profiles important CLR events such as run time suspends and thread suspends. The image on the right shows JITs preceding the method invocations. ?Code Coverage. Code coverage data shows which methods have been executed. Every method of every profiled class is enumerated and identified as executed or not. Summary information shows how many total methods were available and how many and what percent were executed. The data is sortable by class. Click on the image on the right for detail.