@@ -634,18 +634,25 @@ function Base.show(io::IO, stats::Stats)
634
634
# show a comment
635
635
if name == " cpu-cycles"
636
636
@printf (io, " # %4.1f cycles per ns" , counter. value / counter. running)
637
- elseif (name == " stalled-cycles-frontend" || name == " stalled-cycles-backend" ) && haskey (stats, " cpu-cycles" )
638
- @printf (io, " # %4.1f%% of cycles" , scaledcount (counter) / scaledcount (stats[" cpu-cycles" ]) * 100 )
639
637
elseif name == " instructions" && haskey (stats, " cpu-cycles" )
640
638
@printf (io, " # %4.1f insns per cycle" , scaledcount (counter) / scaledcount (stats[" cpu-cycles" ]))
641
- elseif name == " branch-instructions" && haskey (stats, " instructions" )
642
- @printf (io, " # %4.1f%% of instructions" , scaledcount (counter) / scaledcount (stats[" instructions" ]) * 100 )
643
- elseif name == " branch-misses" && haskey (stats, " branch-instructions" )
644
- @printf (io, " # %4.1f%% of branch instructions" , scaledcount (counter)/ scaledcount (stats[" branch-instructions" ]) * 100 )
645
- elseif name == " cache-misses" && haskey (stats, " cache-references" )
646
- @printf (io, " # %4.1f%% of cache references" , scaledcount (counter) / scaledcount (stats[" cache-references" ]) * 100 )
647
- elseif name == " L1-dcache-load-misses" && haskey (stats, " L1-dcache-loads" )
648
- @printf (io, " # %4.1f%% of loads" , scaledcount (counter) / scaledcount (stats[" L1-dcache-loads" ]) * 100 )
639
+ else
640
+ for (num, den, label) in [
641
+ (" stalled-cycles-frontend" , " cpu-cycles" , " cycles" ),
642
+ (" stalled-cycles-backend" , " cpu-cycles" , " cycles" ),
643
+ (" branch-instructions" , " instructions" , " instructions" ),
644
+ (" branch-misses" , " branch-instructions" , " branch instructions" ),
645
+ (" cache-misses" , " cache-references" , " cache references" ),
646
+ (" L1-dcache-load-misses" , " L1-dcache-loads" , " dcache loads" ),
647
+ (" L1-icache-load-misses" , " L1-icache-loads" , " icache loads" ),
648
+ (" dTLB-load-misses" , " dTLB-loads" , " dTLB loads" ),
649
+ (" iTLB-load-misses" , " iTLB-loads" , " iTLB loads" ),
650
+ ]
651
+ if name == num && haskey (stats, den)
652
+ @printf (io, " # %4.1f%% of %s" , scaledcount (counter) / scaledcount (stats[den]) * 100 , label)
653
+ break
654
+ end
655
+ end
649
656
end
650
657
end
651
658
println (io)
0 commit comments