bencheeorg / bencheeorg/benchee

More abstract/generic console formatter/table

Open
#197 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
Elixir
Stars
1.5k
Forks
70
PR merge metrics
No merged PRs in 30d

Description

The console formatter is rather involved with the details of generating our table like nice and lean benchee output. Ideally we could create a module (or use a library, if it fits our use case) that decouples the rendering of the tabular like layout from the values we put in and how we format those.

What I'm thinking is _something_ like this:

```
magic(collection_like_scenarios, %{"Column Header" => data_structure_or_function_ describing_values_are_rendered})
```

Something like this would be nice. It'd also make future features nicer in my head (optimal fit columns that aren't a specified width but just enough to accomodate their contents with some ok spacing).

It'd hopefully also make all our `:io_lib.format` code much easier to access.

This is not high priority but would certainly be nice and in the big "break it apart" could be another library that we extract :)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing console formatter and tracing its table-rendering and :io_lib.format usage. Identify the current formatting inputs and outputs before evaluating whether a module or library fits. Done means table layout rendering is decoupled from benchmark values and their formatting, with existing output behavior preserved.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir
Domain
cli
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.