Systematic Performance measurements are helpful to evaluate the automatic attribute caching of RACR, pinpoint improvement opportunities and track performance regressions. Scheme distributions often provide tools for detailed code profiling, like function execution and garbage collection times. The parameterisation of example applications for different usage scenarios with different performance-load characteristics like size of abstract syntax tree, number of attributes, size of attribute caches or frequency and impact of rewrites still has to be provisioned however. A generic performance profiling infrastructure, which enables the generation of test series according to user-specified program arguments and the classification and visualisation of respective measurement results, would be very useful.
The functionalities to provide are:
a configuration language for the specification of measurement-templates defining the inputs and measured outputs, and their respective names and types, a valid measurement must satisfy
a test series generator executing and measuring RACR-programs according to given value ranges; generated test series have to be repeatable
a measurement browser enabling the collection and filtering of previous measurements in measurement-compilations; the different measurements of repeated test series have to be combined in an empirically and statistically meaningful way
a visualisation generator to plot measurement-compilations; generated plots have to be labeled according to argument types and names
an integrity checker to validate stored measurement-compilations against configuration-templates
Systematic Performance measurements are helpful to evaluate the automatic attribute caching of RACR, pinpoint improvement opportunities and track performance regressions. Scheme distributions often provide tools for detailed code profiling, like function execution and garbage collection times. The parameterisation of example applications for different usage scenarios with different performance-load characteristics like size of abstract syntax tree, number of attributes, size of attribute caches or frequency and impact of rewrites still has to be provisioned however. A generic performance profiling infrastructure, which enables the generation of test series according to user-specified program arguments and the classification and visualisation of respective measurement results, would be very useful.
The functionalities to provide are: