Performance Validator - Feature List
Performance Validator has many useful features not found in other code
performance analysis tools.
Performance
- Seven different performance monitoring methods (one call counting method, five direct timing methods, one performance sampling method)
- Up to twenty different statistics displayed on statistics views, hierarchical
display of data on other views. The statistics displayed are customizable
by the user. Statistics displayed per performance node in the profiler graph
are:
- Class
- Function
- Address
- Module
- Filename
- Number of Children
- Call Count
- Call Count %
- Function Time
- Function Time %
- Average Time
- Average Time %
- Children Time
- Children Time %
- Total Time
- Total Time %
- Longest Time
- Longest Time %
- Shortest Time
- Shortest Time %
- Ability to profile only the parts of the application you want to profile. You can exclude specific DLLs from profiling. This feature allows you to exclude third party DLLs from profiling
- Ability to turn profiling on when a function is entered and turn the profiling off when the function is exited. Multiple functions can be specified. This feature allows you to concentrate on exactly the areas of your application you are interested in
- Calculate performance hotspot graph based on call count, function time, average function time
- Advanced query facility for analysing performance data
- Performance statistics updated as the application executes
- Ability to sort the data for display
- Colour coded display for at-a-glance detection of functions consuming more processor time
- Source code display with function highlighting for editing source code and/or examining source code in situ with the statistics
- View performance statistics in real time, as they change whilst your application executes
Data Views
- Callstack view - Shows the realtime callstack of the selected thread as the application executes
- Raw Statistics view - Shows performance statistics as they are collected before they are collated per node in the performance graph, as they are collected in the application being monitored
- Statistics view - Shows performance statistics per node in the performance graph, as they are collected in the application being monitored
- Call Tree view - Shows a hierarchical performance tree that can be expanded, collapsed, and filtered by performance threshold
- Call Graph view - Shows a hierarchical performance graph that can be expanded, collapsed, and filtered by performance threshold
- Analysis view - Provide the ability to perform advanced queries on the performance data, with the results displayed in a hierarchical performance graph that can be expanded, collapsed, and filtered by performance threshold
- Line Times view - Shows the time each line takes to execute
- Diagnostic messages - For detecting unforseen errors in the instrumentation. If things are not behaving as you expect, the answer may be here.
Data searches
Data searches are performed using the analysis view. The standard queries
are:
- Class
- Function
- File name
- Module name
- Address
- Number of children
- Average Time
- Average Time %
- Total Time
- Total Time %
- Function Time
- Function Time %
- Child Functions Time
- Child Functions Time %
- Longest Time
- Longest Time %
- Shortest Time
- Shortest Time %
- Visit Count
- Visit Count %
- Most Visited Hotspots
- Most Time Consuming Hotspots
- Number of descendants
- Number of ascendants
- Distance to root
- Distance to leaf
These queries can be combined with a variety of comparisons and range specifications to fine tune the search. The range specifications are user defined. The comparisons are:
- <
- <=
- ==
- >=
- >
- !=
- Inside range
- Outside range
Session Comparison
- Support for executing from the command line, allowing automated performance monitoring for all your regression tests. The command line also provides control over the HTML and XML export functions
- Support for session comparisons, so that multiple sessions can be compared against a baseline session. This is vital for regression test support to detect when performance differs from the expected
- Interactive session comparisons. You can compare sessions using the user interface and view the results immediately
Data export
- Performance Data can be exported in HTML
- Performance Data can be exported in XML
Startup
- Start by injecting into running process
- Start by launching a process and injecting into that process at startup
- Start by waiting for a process to start and injecting into that process at startup
- Link to service binary to use Performance Validator with your NT Service
Instrumentation
- Instrumentation is fast, a few seconds, not tens of minutes
- Runs at nearly full speed of non-instrumented application, not 2 or 10 times slower
No need to rebuild
- No need to rebuild or relink your application. Simply requires PDB and/or MAP files for each module (DLL/EXE) in the application
- Minimal compile and link to use Performance Validator with NT services. This is required to because the windows security model does not allow process handles to be opened on service processes by processes other than the service
Compatibility
- Works with the following compilers:
- Microsoft Visual Studio 6.0, 7.0, 7.1, 8.0, 9.0 .net (2002, 2003, 2005, 2008)
- Microsoft Visual Basic
- Intel Performance C++ compiler
- Borland C++ Builder 5.0, 6.0
- Borland free command line tools C++ compiler
- Metrowerks CodeWarrior for Windows 8.0
- Borland Delphi 6.0
- Salford Software FORTRAN 95
- Contact us if your compiler is not listed
Miscellaneous
- Very configurable, almost all options are configurable by the user. Includes
an option to reset to the default settings
Operating Systems
- Microsoft Windows Vista
- Microsoft Windows 2003
- Microsoft Windows XP
- Microsoft Windows 2000
- Microsoft Windows NT 4

