Statistic Report
The statistic reports requested of the compiler:
L2Operations ~ The most time-intensive level-two operations
DynamicLookups ~ The most time-intensive dynamic method lookups.
Primitives ~ The primitives that are the most time-intensive to run overall.
PrimitiveReturnTypeChecks ~ The primitives that take the most time checking return types.
NonprimitiveReturnTypeChecks ~ Returns from non-primitives that had to check the return type.
Author
Leslie Schultz
Mark van Gulik
Parameters
The title of the statistic report.
Entries
The estimated number of bytes allocated for descriptors with the given class name.
Time spent deserializing, by SerializerOperation.
Time spent serializing, by SerializerOperation.
Time spent serializing, by SerializerOperation.
Time spent updating text in workbench transcript.
Outermost statements of modules that are loaded.
Non-primitive Return Type Checks report, organized by the raw function being returned into. This collects contextual timings for non-primitive returns that had to check the type of the return result.
Non-primitive Return Type Checks report, organized by the returning raw function name. This collects contextual timings for non-primitive returns that had to check the type of the return result.
The Primitive Return Type Checks report.
A report of how long and deep dynamic lookups are.
The Primitives report.
Reifications of the Java stack. See StackReifier.
A breakdown of final generation phases of L2->JVM.
Dimensionless values related to L2Chunk creation.
A breakdown of the time spent in L2 optimization phases.
A breakdown of the time spent in L2 optimization phases.
Statistics for expanding ParsingOperations.
Statistics for type checking while parsing.
Statistics for executing parsing instructions.
Types
Functions
Collect the aggregates of my statistics, filter out the ones with zero counts, then sort descending by their sums. Maintain names with the aggregated statistics as Pairs.