Skip to content

Commit 323548a

Browse files
committed
auto-width + style more like logging
1 parent 90487ea commit 323548a

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/trials.jl

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -370,36 +370,36 @@ function Base.show(io::IO, ::MIME"text/plain", t::Trial)
370370
print(io, "BenchmarkTools.Trial: 0 samples")
371371
return
372372
elseif length(t) == 1
373-
printstyled(io, "BenchmarkTools.Trial:\n"; color=padcolor)
373+
printstyled(io, "BenchmarkTools.Trial:\n"; color=padcolor)
374374
# Time
375-
printstyled(io, pad, ""; color=padcolor)
375+
printstyled(io, pad, " "; color=padcolor)
376376
print(io, "time ")
377377
printstyled(io, prettytime(t.times[1]); color=:green, bold=true)
378378

379379
# Memory
380380
println(io)
381-
printstyled(io, pad, ""; color=padcolor)
381+
printstyled(io, pad, " "; color=padcolor)
382382
print(io, allocsstr)
383383

384384
# GC time
385385
if t.gctimes[1] > 0
386386
println(io)
387-
printstyled(io, pad, ""; color=padcolor)
387+
printstyled(io, pad, " "; color=padcolor)
388388
print(io, "GC time: ", prettytime(t.gctimes[1]))
389389
printstyled(io, " (", prettypercent(t.gctimes[1] / t.times[1]),")"; color=:green)
390390
end
391391

392392
#
393393
println(io)
394-
printstyled(io, pad, "", samplesstr; color=padcolor)
394+
printstyled(io, pad, " ", samplesstr; color=padcolor)
395395

396396
return
397397
end # done with trivial cases.
398398

399399
# Main text block:
400-
printstyled(io, "BenchmarkTools.Trial:\n"; color=padcolor)
400+
printstyled(io, "BenchmarkTools.Trial:\n"; color=padcolor)
401401

402-
printstyled(io, pad, ""; color=padcolor)
402+
printstyled(io, pad, " "; color=padcolor)
403403
printstyled(io, "min "; color=:default)
404404
printstyled(io, prettytime(minimum(t.times)); color=:default, bold=true)
405405
print(io, ", ")
@@ -415,7 +415,7 @@ function Base.show(io::IO, ::MIME"text/plain", t::Trial)
415415
printstyled(prettytime(quantile(t.times, showpercentile/100)); bold=true)
416416
println(io)
417417

418-
printstyled(io, pad, ""; color=padcolor)
418+
printstyled(io, pad, " "; color=padcolor)
419419
println(io, allocsstr)
420420

421421
if !all(iszero, t.gctimes)
@@ -430,7 +430,7 @@ function Base.show(io::IO, ::MIME"text/plain", t::Trial)
430430
maxgctime = prettytime(_t)
431431
maxgcpercent = prettypercent(_t / t.gctimes[_i])
432432

433-
printstyled(io, pad, ""; color=padcolor)
433+
printstyled(io, pad, " "; color=padcolor)
434434
print(io, "GC time: mean ", avggctime)
435435
printstyled(io, " (", avegcpercent, ")"; color=:green)
436436
println(io, ", max ", maxgctime, " (", maxgcpercent, ")")
@@ -442,7 +442,9 @@ function Base.show(io::IO, ::MIME"text/plain", t::Trial)
442442
histquantile = showpercentile/100
443443
# The height and width of the printed histogram in characters:
444444
histheight = 2
445-
histwidth = 78-4 # fits into 78 chars # TODO read this from io?
445+
histwidth = max(min(90, displaysize(io)[2]), length(samplesstr) + 24) - 8
446+
# This should fit it within your terminal, but stops growing at 90 columns. Below about
447+
# 55 columns it will stop shrinking, by which point the first line has already wrapped.
446448

447449
perm = sortperm(t.times)
448450
times = t.times[perm]
@@ -477,7 +479,7 @@ function Base.show(io::IO, ::MIME"text/plain", t::Trial)
477479
end
478480

479481
# Above the histogram bars, print markers for special ones:
480-
printstyled(io, pad, ""; color=padcolor)
482+
printstyled(io, pad, " "; color=padcolor)
481483
istop = maximum(filter(i -> i in axes(hist,2), [avgpos, medpos+1, q75pos]))
482484
for i in axes(hist, 2)
483485
i > istop && break
@@ -500,7 +502,7 @@ function Base.show(io::IO, ::MIME"text/plain", t::Trial)
500502

501503
for r in axes(hist, 1)
502504
println(io)
503-
printstyled(io, pad, ""; color=padcolor)
505+
printstyled(io, pad, " "; color=padcolor)
504506
istop = findlast(!=(' '), view(hist, r, :))
505507
for (i, bar) in enumerate(view(hist, r, :))
506508
i > istop && break # don't print trailing spaces, as they waste space when line-wrapped
@@ -520,7 +522,7 @@ function Base.show(io::IO, ::MIME"text/plain", t::Trial)
520522
minhisttime, maxhisttime = remtrailingzeros.(prettytime.(round.([histmin, histmax], sigdigits=3)))
521523

522524
println(io)
523-
printstyled(io, pad, ""; color=padcolor)
525+
printstyled(io, pad, " "; color=padcolor)
524526
print(io, minhisttime)
525527
# Caption is only printed if logbins has been selected:
526528
caption = logbins ? ("log(counts) from " * samplesstr) : samplesstr

0 commit comments

Comments
 (0)