JuliaCI / JuliaCI/BenchmarkTools.jl

Document units of memory and time properties of Trial type

Open
#307 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

documentation
Dominant language
Julia
Stars
684
Forks
107
PR merge metrics
No merged PRs in 30d

Description

Running a benchmark produces an instance of the Trial Type.

When running on the REPL it is nice that you can see a pretty-printed version of the results, however it is not as straightforward to save those results to a text file.

The manual states that we can calculate the metrics ourselves by using the minimum,median,mean,maximum, and std functions, i.e.

julia> maximum(t)
BenchmarkTools.TrialEstimate: 
  time:             1.503 ms
  gctime:           1.401 ms (93.21%)
  memory:           16.36 KiB
  allocs:           19

What it is not immediately obvious is the actual unit that the metrics are saved as internally. Through trial an error I found out that memory is stored as bytes and time is stored as nanoseconds, i.e.

julia> mean(t).time
1.503e6

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked manual section on handling benchmark results and the Trial and TrialEstimate properties described in the issue. Document the internal units for memory and time, including the byte and nanosecond values, so users can interpret metrics returned by functions such as mean and maximum.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.