Quantify uses debug line information to collect line-by-line performance data. If debug line information is not available for a module that was instrumented using inclusive instrumentation, Quantify times that module. Quantify also requires relocation data to collect data for native-compiled (unmanaged) programs at line or function level. If relocation data is not available for an .exe, Quantify times the functions. For a DLL, only data for exported functions is recorded. Time for internal, non-exported functions is attributed to the calling exported functions.
If you are using Microsoft Visual Studio, you can create an optimized release version with debug data. For example, specifying the following options compiles Stock.cpp for maximum speed and with debug data:
cl /O2 /Zi stock.cpp
Visual Studio generates a .pdb file that Quantify can use to measure performance at line level.
By default, the compiler does not create a relocation section when you compile your executable. To add relocation data, specify the /fixed:no and /incremental:no options in the Link tab in the Project Settings dialog box in Visual Studio. Or specify at the command line, for example:
cl /O2 /Zi stock.cpp /link /fixed:no /incremental:no
If you do not want to build a .pdb file, you can compile optimized and build a .map file. For example:
cl /O2 stock.cpp /link /map
Notes:
§ The Time measurement type is not supported for selective instrumentation.
§ If you choose to time functions in an executable, the only data that Quantify includes for the executable is the .exe's entry point. The entry point's function time includes the function time of the other functions in the .exe.
(C) Copyright IBM Corporation 1993, 2009.