From bcf2314f15d68d7a0b94445f99962342b9d4130d Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Sat, 15 Oct 2022 15:01:25 -0700 Subject: Switch to external nanosim dependency. --- pt | 105 +-------------------------------------------------------------------- 1 file changed, 1 insertion(+), 104 deletions(-) mode change 100755 => 120000 pt (limited to 'pt') diff --git a/pt b/pt deleted file mode 100755 index 206795f..0000000 --- a/pt +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/ruby - -$filter = ARGV - -$parents = {} -$events = {} -$has = {} -$data = {} -$horiz = {} -$maxtime = -1 - -$stats = false - -$stdin.each_line do | line | - case line - - when /^(\d+) parent (\d+)$/ - child = $1.to_i - parent = $2.to_i - $parents[child] = parent - - when /^@(\d+) (\d+) (\S*) (.*)$/ - time = $1.to_i - rec = $2.to_i - event = $3 - data = $4 - if event.size > 0 - $events[rec] ||= {} - $events[rec][time] = event - $has[rec] ||= {} - $has[rec][event] = true - $horiz[event] ||= "" - $horiz[event] = $horiz[event].ljust(time) - $horiz[event][time] = event - end - if data.size > 0 - $data[rec] ||= "" - $data[rec] += " #{event}@#{time}:" if event.size > 0 - $data[rec] += " #{data}" - end - $maxtime = [$maxtime, time+1].max - - when /^#\s*(.*)$/ - $stats = true - $stdout.write("#{$1}\n") - - else - raise "Unexpected line: #{line}" - end -end - -$stdout.write("\n") if $stats - -$hier = {} -$hier_direct = {} - -$events.each_key do | rec | - subhier = {} - $hier_direct[rec] = subhier - if $parents.key?(rec) - $hier_direct[$parents[rec]][rec] = subhier - else - $hier[rec] = subhier - end -end - -$order = [] - -def flatten(hier) - hier.each do | rec, subhier | - $order << rec - flatten(subhier) - end -end -flatten($hier) - -rwidth = $order.map { | x | x.to_s.size }.max - -$horiz.keys.sort.each do | occ | - $stdout.write(" " * rwidth + " #{$horiz[occ].ljust($maxtime)}") - count = $horiz[occ].delete(" ").size - $stdout.write(" #{($maxtime.to_f / count.to_f).round(2).to_s.rjust(5)} cyc/evt\n") -end -$stdout.write("\n") - -mwidth = 0 - -$order.each do | rec | - estr = "" - filter_match = $filter.empty? - $has[rec].each_key do | event | - filter_match ||= $filter.include?(event) - end - next unless filter_match - $events[rec].keys.sort.each do | time | - estr = estr.ljust(time + 1, estr.size == 0 ? " " : "-") - estr[time] = $events[rec][time] if $events[rec][time].size > 0 - end - estr += " " * 5 - estr = estr.ljust(mwidth - 1) - estr = estr.ljust(estr.size + 20 - estr.size % 20) - mwidth = [mwidth, estr.size].max - $stdout.write(rec.to_s.rjust(rwidth) + ": #{estr}#{$data[rec]}\n") -end diff --git a/pt b/pt new file mode 120000 index 0000000..d6f3bd4 --- /dev/null +++ b/pt @@ -0,0 +1 @@ +nanosim/pt \ No newline at end of file -- cgit v1.2.3