Skip to content

Commit 3206afa

Browse files
authored
Merge pull request #2 from YingboMa/myb/prettyprint
pretty printing
2 parents 0e61a96 + 2e4cad9 commit 3206afa

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
*.jl.cov
22
*.jl.*.cov
33
*.jl.mem
4+
Manifest.toml

Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ uuid = "b4c46c6c-4fb0-484d-a11a-41bc3392d094"
33
version = "0.1.0"
44

55
[deps]
6+
Formatting = "59287772-0a20-5a39-b81b-1366585eb4c0"
7+
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
68
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
79

810
[compat]

src/LinuxPerf.jl

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module LinuxPerf
22

33
using Printf
4+
using PrettyTables
5+
using Formatting
46

57
export @measure, @measured
68
export make_bench, enable!, disable!, reset!, reasonable_defaults, counters
@@ -287,18 +289,13 @@ struct Counters
287289
end
288290

289291
function Base.show(io::IO, c::Counters)
290-
println(io)
291-
for c in c.counters
292-
print(io, c.event, ": ")
293-
if c.enabled == 0
294-
print(io, "never enabled")
295-
elseif c.running == 0
296-
print(io, "did not run")
297-
else
298-
@printf(io, "\n\t%20d (%.1f %%)", Int64(c.value), 100*(c.running/c.enabled))
299-
end
300-
println(io)
292+
events = map(x -> x.event, c.counters)
293+
stats = mapreduce(vcat, c.counters) do c
294+
c.enabled == 0 ? ["never enabled" "0 %"] :
295+
c.running == 0 ? ["did not run" "0 %"] :
296+
[format(Int64(c.value), commas=true) @sprintf("%.1f %%", 100*(c.running/c.enabled))]
301297
end
298+
return pretty_table(io, stats, ["Events", "Active Time"], row_names=events, alignment=:l, crop=:none, body_hlines=collect(axes(stats, 1)))
302299
end
303300

304301
enable!(b::PerfBench) = foreach(enable!, b.groups)

0 commit comments

Comments
 (0)