Performance Validator - Features

Performance Validator has many useful features not found in other code performance analysis tools.


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
  • 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 to HTML
  • Performance Data can be exported in XML


  • 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 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


Works with the following compilers and technologies:

  • Microsoft Visual Studio 2022, 2019, 2017, 2015, 2013, 2012, 2010, 2008, 2005, .net 2003, .net 2002, 6.0
  • .Net
  • .Net Core
  • Mixed mode applications: .Net and native code.
  • Microsoft Visual C++
  • Microsoft Visual Basic 6
  • Intel Performance C++ compiler
  • Embarcadero C++ Builder
  • Embarcadero Delphi
  • Embarcadero Rad Studio
  • Borland free command line tools C++ compiler
  • MinGW gcc / g++ compiler
  • Clang / LLVM compiler
  • QtCreator
  • Metrowerks CodeWarrior for Windows 8.0
  • Embarcadero Delphi – version that can output either TDS debugging information or a detailed map file.
  • Intel Performance FORTRAN compiler
  • Salford Software FORTRAN 95

Contact us if your compiler is not listed


Very configurable, almost all options are configurable by the user. Includes an option to reset to the default settings

Operating Systems

  • Microsoft Windows 11 64
  • Microsoft Windows 10 64
  • Microsoft Windows 8 64
  • Microsoft Windows 7 64
  • Microsoft Windows Vista 64
  • Microsoft Windows XP 64
  • Microsoft Windows 11
  • Microsoft Windows 10
  • Microsoft Windows 8
  • Microsoft Windows 7
  • Microsoft Windows Vista
  • Microsoft Windows Server 2012
  • Microsoft Windows Server 2008
  • Microsoft Windows Server 2003
  • Microsoft Windows XP

If you need support for older Windows operating systems (for example you may be using Windows 2000 Embedded) we can provide special builds for these operating systems. Please contact us for details.

  • Microsoft Windows 2000
  • Microsoft Windows NT 4

Fully functional, free for 30 days