Performance Evaluation of Vortex-Compiled Applications
debug_support and interrupt_checking to false (e.g., Cecil> no_debug_support; no_interrupt_checking). Note that code compiled with and without debugging support cannot be mixed; toggling the debug_support option will automatically invalidate all compiled code.Another thing to be aware of is that, to reduce the costs of gathering profiling data, Vortex does not fully instrument calls that have been statically-bound purely by means of some static analysis (for example, intraprocedural class analysis, class hierarchy analysis or static class prediction). In most cases this does not matter, but if different levels of static analysis are going to be used (for example to measure the effectiveness of various flavors of static class analysis), then it is critical that the profile data to be used in the experiments be gathered from executables compiled with the same level of static analysis. For example, to measure the impact of class hierarchy analysis, one might want to compare the following four combinations of optimizations:
If you are going to be doing a non-trivial amount of benchmarking and/or performance evaluation using Vortex, you should invest some time and become familiar with the config family of scripts that we have developed to support these tasks (found in $VORTEX_HOME/bin/shell). The file configs.perl is included in the rest of the scripts; it defines configuration information and handles command line arguments. buildConfig uses Vortex to build executable, runProgs measures the resulting exectuables, and showData displays experimental results.
Generated with Harlequin WebMaker