Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion harness/harness-common.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,18 @@
# Seed the global random number generator for repeatability between runs
Random.srand(1337)

def format_number(num)
num.to_s.split(".").tap do |a|
# Insert comma separators but only in the whole number portion (a[0]).
# Look for "-?" at the end to preserve any leading minus sign that may be on the beginning.
a[0] = a[0].reverse.scan(/\d{1,3}-?/).join(",").reverse

# Add a space when positive so that if there is ever a negative
# the first digit will line up.
a[0].prepend(" ") unless a[0].start_with?("-")
end.join(".")
end

def run_cmd(*args)
puts "Command: #{args.join(" ")}"
system(*args)
Expand Down Expand Up @@ -114,7 +126,7 @@ def return_results(warmup_iterations, bench_iterations)
if yjit_stats
yjit_bench_results["yjit_stats"] = yjit_stats

formatted_stats = proc { |key| "%10s" % yjit_stats[key].to_s.reverse.scan(/\d{1,3}/).join(",").reverse }
formatted_stats = proc { |key| "%10s" % format_number(yjit_stats[key]) }
yjit_stats_keys = [
*ENV.fetch("YJIT_BENCH_STATS", "").split(",").map(&:to_sym),
:inline_code_size,
Expand Down
4 changes: 2 additions & 2 deletions harness/harness.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ def run_benchmark(_num_itrs_hint, &block)

yjit_stats&.each do |key, old_value|
new_value = RubyVM::YJIT.runtime_stats(key)
diff = (new_value - old_value).to_s.reverse.scan(/\d{1,3}/).join(",").reverse
itr_str << " %#{key.size}s" % diff
diff = (new_value - old_value)
itr_str << " %#{key.size}s" % format_number(diff)
yjit_stats[key] = new_value
end

Expand Down
Loading