You can use Quantify to profile the performance of Visual Basic p-code programs, .NET managed code programs, and native-code (unmanaged) programs. Quantify can collect performance data for form events and procedure calls, including calls to other procedures, calls to declared functions in support DLLs, and calls to components.
For Visual Basic p-code programs, and .NET programs, Quantify uses Byte Code Insertion (BCI) technology to instrument your code dynamically in memory. Quantify directly collects performance data as the code runs. It does not display the Instrumentation progress dialog box, and does not save copies of the instrumented code.
Quantify can collect line level or function level performance data, depending on the type of code being profiled.
You can profile Visual Basic p-code programs:
§ from the Quantify standalone interface
§ from the command line
You can profile Visual Basic .NET managed-code programs:
§ from Visual Studio
§ from the Quantify standalone interface
§ from the command line
For native-compiled (unmanaged) programs, Quantify uses Object Code Insertion (OCI) technology to instrument the programs. Quantify can collect counted performance data at the line and function level and timed performance data, exactly as it does for native-compiled Visual C++ programs. Information that is presented in this help system about profiling Visual C++ programs also applies to profiling native-compiled Visual Basic programs.
You can instrument and run native-compiled programs:
§ from the Quantify standalone interface
§ from the command line
For mixed p-code and .NET programs, Quantify profiles only one type of code in any run. By default, it profiles code of the type that it encounters first. You can override the default by running Quantify from the command line and indicating the type of code that you want to target.
When you exit the Visual Basic program you're profiling, Quantify displays the Call Graph window. By default, Quantify hides procedures from the non-critical startup phase and instead focuses on VBA_Run (projects and p-code programs) or ThunRTMain (native-code programs) and its top 20 descendants by procedure + descendants (P+D) time. You can further refine the current dataset by filtering out other procedures, to help you locate and analyze the bottlenecks in your code.
(C) Copyright IBM Corporation 1993, 2009.