Skip to content

Substitute HashMap for BtreeMap in family#278

Open
spoutn1k wants to merge 6 commits into
prometheus:masterfrom
spoutn1k:sorting
Open

Substitute HashMap for BtreeMap in family#278
spoutn1k wants to merge 6 commits into
prometheus:masterfrom
spoutn1k:sorting

Conversation

@spoutn1k

@spoutn1k spoutn1k commented Aug 11, 2025

Copy link
Copy Markdown
Contributor

Updates #128, fixes #125.

Edit: updated numbers for 2026

     Running benches/baseline.rs (target/release/deps/baseline-afaf49df79a6aa37)
Gnuplot not found, using plotters backend
counter                 time:   [1.5237 ns 1.5238 ns 1.5240 ns]
                        change: [-0.1374% -0.0297% +0.0816%] (p = 0.61 > 0.05)
                        No change in performance detected.
Found 12 outliers among 100 measurements (12.00%)
  2 (2.00%) low mild
  2 (2.00%) high mild
  8 (8.00%) high severe

counter via family lookup
                        time:   [4.5786 ns 4.5919 ns 4.6077 ns]
                        change: [-1.3790% -1.0886% -0.7645%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
  3 (3.00%) high mild
  1 (1.00%) high severe

     Running benches/exemplars.rs (target/release/deps/exemplars-44e9e58bee91a180)
Gnuplot not found, using plotters backend
histogram without exemplars
                        time:   [5.2069 ns 5.2149 ns 5.2237 ns]
                        change: [-0.8447% -0.4973% -0.1840%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 13 outliers among 100 measurements (13.00%)
  2 (2.00%) low mild
  4 (4.00%) high mild
  7 (7.00%) high severe

histogram with exemplars (no exemplar passed)
                        time:   [5.7712 ns 5.7765 ns 5.7835 ns]
                        change: [-2.3160% -2.0050% -1.6724%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
  1 (1.00%) low mild
  10 (10.00%) high mild
  2 (2.00%) high severe

histogram with exemplars (some exemplar passed)
                        time:   [46.992 ns 47.047 ns 47.105 ns]
                        change: [-6.1891% -5.2597% -4.3480%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
  1 (1.00%) low mild
  4 (4.00%) high mild
  3 (3.00%) high severe

     Running benches/family.rs (target/release/deps/family-9fc0fb35439fee5b)
Gnuplot not found, using plotters backend
counter family with [(&'static str, &'static str)] label set
                        time:   [11.101 ns 11.173 ns 11.234 ns]
                        change: [-49.818% -49.403% -49.005%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  4 (4.00%) low severe
  3 (3.00%) low mild
  4 (4.00%) high mild

counter family with Vec<(&'static str, &'static str)> label set
                        time:   [19.108 ns 19.205 ns 19.315 ns]
                        change: [-36.874% -36.427% -35.912%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
  4 (4.00%) high mild
  4 (4.00%) high severe

counter family with Vec<(String, String)> label set
                        time:   [53.065 ns 53.165 ns 53.279 ns]
                        change: [-16.658% -16.289% -15.940%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
  3 (3.00%) high mild
  4 (4.00%) high severe

counter family with custom type label set
                        time:   [5.1398 ns 5.1493 ns 5.1596 ns]
                        change: [-44.652% -44.504% -44.337%] (p = 0.00 < 0.05)
                        Performance has improved.

     Running benches/histogram.rs (target/release/deps/histogram-cbf0fe399db614ec)
Gnuplot not found, using plotters backend
observe/histogram       time:   [4.6503 ns 4.6601 ns 4.6698 ns]
                        change: [-1.4986% -0.9936% -0.4452%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
  2 (2.00%) low severe
  4 (4.00%) low mild
  1 (1.00%) high mild
observe/native histogram
                        time:   [5.3982 ns 5.3994 ns 5.4005 ns]
                        change: [-0.7902% -0.6653% -0.5421%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 18 outliers among 100 measurements (18.00%)
  2 (2.00%) low severe
  6 (6.00%) low mild
  3 (3.00%) high mild
  7 (7.00%) high severe
observe/classic and native histogram
                        time:   [5.6864 ns 5.6929 ns 5.7037 ns]
                        change: [-0.7474% -0.5332% -0.2340%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 10 outliers among 100 measurements (10.00%)
  1 (1.00%) low severe
  2 (2.00%) low mild
  2 (2.00%) high mild
  5 (5.00%) high severe

     Running benches/encoding/text.rs (target/release/deps/text-742f9524329bef5c)
Gnuplot not found, using plotters backend
encode                  time:   [11.127 ms 11.169 ms 11.213 ms]
                        change: [+1.7567% +2.2668% +2.7645%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 8 outliers among 100 measurements (8.00%)
  5 (5.00%) high mild
  3 (3.00%) high severe

lstrojny and others added 5 commits July 9, 2026 18:55
Signed-off-by: Lars Strojny <lars@strojny.net>
Signed-off-by: Jean-Baptiste Skutnik <jb.skutnik@gmail.com>
Signed-off-by: Lars Strojny <lars@strojny.net>
Signed-off-by: Jean-Baptiste Skutnik <jb.skutnik@gmail.com>
Signed-off-by: Lars Strojny <lars@strojny.net>
Signed-off-by: Jean-Baptiste Skutnik <jb.skutnik@gmail.com>
Signed-off-by: Lars Strojny <lars@strojny.net>
Signed-off-by: Jean-Baptiste Skutnik <jb.skutnik@gmail.com>
Signed-off-by: Jean-Baptiste Skutnik <jb.skutnik@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Undeterministic order in output

2 participants