Details
Description
MMTk attempts to print its statistics in a single row like so:
{{
============================ MMTk Statistics Totals ============================
GC time.mu time.gc perf.mu perf.gc refType scan finalize prepare precopy stacks root forward release init finish L1I_MISSES.mu L1I_MISSES.gc
7 6751.76 5881.21 0 0 99.35 5038.20 22.58 0.28 0.92 4.99 713.75 0.00 0.65 0.12 0.14 2330019756995 1443109010784
Total time: 12632.98 ms
------------------------------ End MMTk Statistics -----------------------------
}}
Hopefully the problems with this approach are clear to see from a human readers perspective: i) Headers do not always line up with values, ii) It's even harder to read with many counters as the output becomes wider than your terminal
Attached is a trivial patch that instead prints one statistic per line, like so:
{{
============================ MMTk Statistics Totals ============================
GC: 7
time.mu: 6872.53
time.gc: 5854.95
perf.mu: 0
perf.gc: 0
refType: 101.65
scan: 5008.27
finalize: 22.64
prepare: 0.30
precopy: 0.89
stacks: 4.79
root: 715.20
forward: 0.00
release: 0.66
init: 0.16
finish: 0.18
L1I_MISSES.mu: 1569810545957(SCALED)
L1I_MISSES.gc: 951335255621(SCALED)
Total time: 12727.48 ms
------------------------------ End MMTk Statistics -----------------------------
}}
As a human I certainly prefer the second output, however I have no idea how many scripts this change would break. If a consensus can be reached and more human readability is desired then perhaps this patch can be applied.
This work is motivated by another patch that I am about to submit that increases the number of statistics MMTk reports (thus increasing problems of wide output)
Kind regards
Laurence