You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6364711
Browse filesBrowse the repository at this point in the historyBrowse files
With Ractor GC data, the comparison GC summary was over 250 characters
wide.
This commit splits it into a GC time ratios table and a GC counts
table. The "ratio" and "worker sum" labels move out of the column
headers and into the table titles. Columns with no data in any row are
hidden and listed under the table.
global/iter is now shown as a count instead of a ratio. It's a GC
count, and the legend says the ratios are GC time.
output_str << "Hidden columns (zero or N/A in every row): #{gc_table[:hidden].join(', ')}\n"unlessgc_table[:hidden].empty?
89
+
output_str << "\n"
83
90
end
84
91
end
85
92
@@ -93,30 +100,30 @@ def build_output_text(ruby_descriptions, table, format, bench_failures, include_
93
100
end
94
101
end
95
102
ifhas_gc_summary
96
-
output_str << "- GC summary compares #{base_name} → comparison. Ratio columns are #{base_name}/comparison; above 1 means the comparison spent less GC time.\n"
97
-
output_str << "- gc/iter, mark/iter, and sweep/iter ratio compare total GC (or phase) time per benchmark iteration, so they include both per-GC cost and GC frequency changes.\n"
98
-
output_str << "- gc/GC, mark/GC, and sweep/GC ratio divide average GC (or phase) time by the same run's GCs/iter count; they are not complete per-cycle attribution of process-wide GC.\n"
99
-
output_str << "- GCs/iter, major/iter, minor/iter, controller compacts/iter*, and minor GC % show #{base_name} → comparison values, not ratios. Rows with no GC activity are omitted.\n"
103
+
output_str << "- GC time ratios are #{base_name}/comparison; above 1 means the comparison spent less GC time.\n"
104
+
output_str << "- gc/iter, mark/iter, and sweep/iter compare total GC (or phase) time per benchmark iteration, so they include both per-GC cost and GC frequency changes.\n"
105
+
output_str << "- gc/GC, mark/GC, and sweep/GC divide average GC (or phase) time by the same run's GCs/iter count; they are not complete per-cycle attribution of process-wide GC.\n"
106
+
output_str << "- GC counts show #{base_name} → comparison values, not ratios. Rows with no GC activity are omitted.\n"
100
107
end
101
108
ifinclude_pvalue
102
109
output_str << "- ***: p < 0.001, **: p < 0.01, *: p < 0.05 (Welch's t-test)\n"
output_str << "- controller compacts/iter*: the main Ractor's GC.stat(:compact_count) delta per iteration. Every global compacting cycle increments compact_count in every object space. Do not sum it across workers.#{other_names.empty? ? '' : " Comparison tables show #{base_name} → comparison values."}\n"
115
+
output_str << "- compacts*: the main Ractor's GC.stat(:compact_count) delta per iteration. Every global compacting cycle increments compact_count in every object space. Do not sum it across workers.#{other_names.empty? ? '' : " Comparison tables show #{base_name} → comparison values."}\n"
0 commit comments