0 items - $0.00
Real time callstack Profiling call graph Profiling call tree Profiling statistics Profiling line times Profiling relations between caller and callee Some of our customers

Find slow functions and CPU hotspots, improve performance

C# and C++ profiler - Performance Validator 7.53

Performance Validator is a performance profiler for use by software developers and software quality assurance testers using .Net, .Net Core (C#, VB.Net, etc) and native language compilers (C, C++, Delphi, VB6, Fortran etc).

Use Performance Validator to:

  • Identify slow (time consuming) functions in your application.
  • Identify busy (called very often, not necessarily slow) functions in your application.
  • View application behaviour in real time.
  • Improve your software quality testing with interactive, profiling displays.
  • Create profiling reports with collapsible call tree and call graphs to share with your team on your intranet.
  • Command line API to support automated use (Jenkins, etc).

2 Minute Video

Performance profiling with Performance Validator.


Performance Validator provides many displays to provide you with more insight into the data you have collected.

Realtime thread callstack


Realtime callstack
Performance Statistics


Performance statistics
Relation Statistics for Caller and Callee


Relations, callers and callees
Performance Call Tree

Call Tree

Performance call tree
Performance Call Graph

Call Graph

Performance call graph (minimal set of call tree)
Query Performance Statistics


Perform queries on collected data
File and Line Performance Statistics

Line Timing

Line level performance data
Diagnostic Information


Diagnostic information about the application

Easy to use

To use Performance Validator all you need is debugging information for your application and Performance Validator can get to work. You do not need to modify your software, recompile or relink your software to use Performance Validator.

  1. Launch your application with Performance Validator.
    Performance Validator will launch and attach to your application.
  2. Run your application as normal.
  3. Close your application.
  4. Examine the profiling statistics that Performance Validator generates as your application runs.

Easy to read data displays show you the performance statistics as your application executes. You do not need to wait until your application has finished to view statistics for any function, file or DLL. The displays can be filtered to show you only the information that you want to work with.

Code Performance Summary

Detailed, colour coded source code shows at-a-glance which functions and lines have executed and how long each took.

Code Performance Source Code Detail


Performance Validator can be configured to collect all data or just the data you need. Powerful filters for collecting data and for displaying collected data give you maximum flexibility and control over how much CPU time is spent and how much memory is used collecting data allowing you to choose how much effort is put into a given task.


Performance Validator provides an API for using Performance Validator with services for the case when Performance Validator cannot inject into a service because of Windows NT security privileges preventing the injection (typically for services running at Administrator or system level).


The default options of Performance Validator provide profiling data for all DLLs and files in your application that have debugging information. If you wish to only create profiling reports for selected DLLs, or exclude certain file types or even specific classes and methods, Performance Validator has filtering capabilities to allow such customisation.

Exporting profiling data

Performance Validator provides powerful HTML and XML reporting capabilities, allowing you to produce profiling reports that you can share with your colleagues or post on your company intranet. The HTML reports can include animated collapsible call trees and call graphs.


Performance Validator works with compilers from:

VendorLanguageCompiler / IDE
MicrosoftC++, C, Visual Basic 6, C#, VB.Net, J#, F#, .Net, .Net CoreVisual Studio
IntelC++, C, FortranIntel Performance Compiler, Intel Fortran
EmbarcaderoC++, C, DelphiC++ Builder, Delphi, Rad Studio
MinGWC++, Cg++ / gcc
LLVMC++, CClang
QtC++, CQtCreator
MetrowerksC++, CCode Warrior
Salford SoftwareFortran 95Fortran 95

We support many versions of Visual Studio: Visual Studio 2022, 2019, 2017, 2015, 2013, 2012, 2010, 2008, 2005, 2003, 2002 and Visual Studio 6 are supported.

All 64 bit (x64) Windows operating systems are supported.

All 32 bit Windows operating systems from Windows 11 to Windows NT 4.0 are supported.

For more details, please consult the compatibility feature list

.Net and .Net Core

If you're using .Net and/or .Net Core, Performance Validator supports these technologies.

If you're also using native code with your .Net applications, we've also got that covered, mixed mode applications are supported.

Applications, services, web servers

Performance Validator works with applications, services and IIS/Web Development Server, both native and mixed-mode .Net.

Regression test support

As well as the traditional performance profiling role that Performance Validator performs, Performance Validator can be used for interactive profiling and for creating profiling reports automatically as part of a regression test suite and/or overnight build.

Performance Validator also allows you to automate this process by launching Performance Validator from the command line. A full range of command line options allow you to perform unattended runs of Performance Validator, complete with HTML export and XML export, to facilitate regression testing as part of your overnight builds.

Command Line

Performance Validator also allows you to automate profiling by launching Performance Validator from the command line.

A full range of command line options allow you to perform unattended profiling with Performance Validator, complete with HTML export and XML export, to facilitate regression testing as part of your overnight builds.

Example 1 Launch a program, record profiling data and save the session.

performanceValidator.exe -program "c:\myProgram.exe" 
                         -saveSession "c:\myResults\session1.pvm" 
                         -displayUI -refreshStatistics -refreshAnalysis -refreshCallTree

Example 2 Launch a program with a specific startup directory, record profiling data and save the session. A previous session is loaded and compared to the recorded session, the results are exported to HTML.

performanceValidator.exe -program "c:\myProgram.exe" 
                         -saveSession "c:\myResults\session1.pvm" 
                         -displayUI -refreshStatistics -refreshAnalysis -refreshCallTree
                         -directory "c:\testarea" 
                         -sessionLoad "c:\myResults\session1.pvm" 
                         -exportAsHTML "c:\myResults\session2.html" 
                         -sessionCompareHTML "c:\myResults\comparison_1_2.html"

Software Updates

We update our software tools on a regular basis - on average about 26 updates per year. Updates are optional, you only need to download the most recent update to be up-to-date.

You can set up automatic software updates using the credentials we supply to you when you purchase. Automatic software updates can be setup to check daily, weekly, monthly or never.

Change history

If you're curious about the Performance Validator change history you can view it here.

Try Performance Validator Today

Single user: $299

30 Day Free Trial
Fully Functional


Read what our customers say...
Performance Validator is part of
Developer Suite
QA Suite
Support Suite

Go to Top ^^