Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update devdependency mitata to v1 #126

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 20, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
mitata ^0.1.11 -> ^1.0.25 age adoption passing confidence

Release Notes

evanwashere/mitata (mitata)

v1.0.25

Compare Source

v1.0.24

Compare Source

v1.0.23: mitata december holidays update

Compare Source

docs now feature writing good benchmarks section to help people with improving their micro-benchmarks

🚀 New Features

concurrency benchmarks

mitata now offers quick and transparent way to test concurrency of asynchronous functions

bench('sleep(1000) x $concurrency', function* () {
  yield async () => await sleep(1000);
}).range('concurrency', 1, 1024);

benchmark                   avg (min  max) p75   p99    (min  top 1%)
------------------------------------------- -------------------------------
sleep(1000) x 1                 1.00 s/iter    1.00 s                   
                          (1.00 s  1.00 s)    1.00 s █▁███▁▁▁▁▁█▁▁▁▁█▁▁█▁█
sleep(1000) x 8                 1.00 s/iter    1.00 s                    
                          (1.00 s  1.00 s)    1.00 s ▆▁▁▆▁▁▁▁▁▁▁█▁▁▁▆▁▆█▁▆
sleep(1000) x 64                1.00 s/iter    1.00 s                ██   
                          (1.00 s  1.00 s)    1.00 s █▁▁▁█▁▁▁▁▁▁██▁███▁▁▁█
sleep(1000) x 512               1.00 s/iter    1.00 s                   
                          (1.00 s  1.00 s)    1.00 s ▆▁▁▁▁▁▁▁▁▆▆█▁█▁▁▁▁▁▁█
sleep(1000) x 1024              1.00 s/iter    1.00 s                   
                          (1.00 s  1.00 s)    1.00 s ▆▁▁▁▁▆▁█▁█▆▆▁▁▁▁▁▁▁▁█

v1.0.22

Compare Source

v1.0.21

Compare Source

v1.0.20: mitata early december update

Compare Source

🚀 New Features

do_not_optimize

utility function to prevent jit from optimizing out values in benchmarks

import { bench, do_not_optimize } from 'mitata';

bench(function () {
  do_not_optimize(new Array(0));
});

hardware counters

bun add @​mitata/counters

mitata now supports collecting and displaying hardware counters on macos and linux

------------------------------------------- -------------------------------
Date.now()                    27.25 ns/iter  27.75 ns █                    
                      (26.32 ns … 32.33 ns)  30.81 ns █▃▂▁▂▅▂▁▂▂▂▂▁▂▂▁▁▁▁▁▁
                  2.20 ipc (  0.00% stalls)  99.99% L1 data cache
          95.35 cycles  209.98 instructions  25.48% retired LD/ST (  53.50)

computed parameters

benchmarks now can include generated parameters that avoid variables hoisting optimization in loops

bench('a * b', function* () {
  yield {
    [0]() {
      return Math.random();
    },

    [1]() {
      return Math.random();
    },

    bench(a, b) {
      do_not_optimize(a * b);
    },
  };
});
------------------------------------------- -------------------------------
a * b                        611.20 ps/iter 600.10 ps  █                   
                      (559.33 ps … 8.20 ns)   1.43 ns ▂█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
a / b                        913.91 ps/iter 895.26 ps  █                   
                      (844.48 ps … 8.03 ns)   1.87 ns ▁█▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

v1.0.19

Compare Source

v1.0.18

Compare Source

v1.0.17

Compare Source

v1.0.16

Compare Source

v1.0.15

Compare Source

v1.0.14: mitata november update

Compare Source

🛠️ Changes

groups can have names

group(name, () => {
  ...
});

 math
-------------------------------------------
1 + 1                         87.43 ps/iter
                       (51.03 ps  9.83 ns)

charts/visualizations can be nested and combined

summary(() => {
  barplot(() => {
    bench(...);
  });

  barplot(() => { ... });
});

------------------------------------------- -------------------------------
1 + 1                        105.54 ps/iter  91.55 ps                     !
                       (61.04 ps  1.83 µs) 122.07 ps ▁▁▁▁▁▁▁█▁▁█▁▁▁▁▁▁▄▁▁▂
Date.now()                    39.61 ns/iter  28.01 ns                     
                       (27.83 ns  3.19 µs) 153.12 ns █▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

                                                                         
                       1 + 1  105.54 ps
                  Date.now() ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 39.61 ns
                                                                         

summary
  1 + 1
   375.26x faster than Date.now()

------------------------------------------- -------------------------------
2 + 2                        117.75 ps/iter  91.55 ps                     !
                       (61.04 ps  3.69 µs) 112.06 ps ▁▁▁▁▁▁▁▁█▁▁▁█▁▁▁▁▁▁▁▁
3 + 3                        126.97 ps/iter  91.55 ps                     !
                       (61.04 ps  4.23 µs) 122.07 ps ▁▁▁▁▁▁▁█▁▁█▁▁▁▁▁▁▄▁▁▂

                                                                         
                       2 + 2  117.75 ps
                       3 + 3 ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 126.97 ps
                                                                         

summary
  2 + 2
   1.08x faster than 3 + 3

other notable changes

  • support for detecting webcontainers
  • benchmark names now have 28 chars of space
  • optimized amount of ansi codes outputted in some charts

🚀 New Features

benchmark names can be highlighted

bench(...).highlight('red');
image

markdown table format

await run({ format: 'markdown' });

clk: ~3.17 GHz
cpu: Apple M2 Pro
runtime: bun 1.1.26 (arm64-darwin)

benchmark avg min p75 p99 max
1 + 1 90.69 ps/iter 61.04 ps 91.55 ps 122.07 ps 309.74 ns
Date.now() 28.70 ns/iter 26.70 ns 28.01 ns 43.35 ns 413.05 ns

option to fine tune garbage collection behavior

// runs gc before each iteration 
bench(...).gc('inner');

v1.0.13

Compare Source

v1.0.12

Compare Source

v1.0.11

Compare Source

v1.0.10

Compare Source

v1.0.9

Compare Source

v1.0.8

Compare Source

v1.0.7

Compare Source

v1.0.6

Compare Source

v1.0.5

Compare Source

v1.0.4

Compare Source

v1.0.3

Compare Source

v1.0.2

Compare Source

v1.0.1

Compare Source

v1.0.0

Compare Source

v0.1.14

Compare Source

v0.1.13

Compare Source

v0.1.12

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/mitata-1.x branch 8 times, most recently from f892297 to 46bb136 Compare September 26, 2024 21:38
@renovate renovate bot force-pushed the renovate/mitata-1.x branch 2 times, most recently from 8c000cc to dd36da0 Compare September 28, 2024 19:15
@renovate renovate bot force-pushed the renovate/mitata-1.x branch 6 times, most recently from 7c14e2e to 6e08dee Compare November 25, 2024 15:08
@renovate renovate bot force-pushed the renovate/mitata-1.x branch 3 times, most recently from 652fa5b to 9054917 Compare December 1, 2024 10:19
@renovate renovate bot changed the title chore(deps): update devdependency mitata to v1 chore(deps): update devdependency mitata to v1 - autoclosed Dec 8, 2024
@renovate renovate bot closed this Dec 8, 2024
@renovate renovate bot deleted the renovate/mitata-1.x branch December 8, 2024 18:41
@renovate renovate bot changed the title chore(deps): update devdependency mitata to v1 - autoclosed chore(deps): update devdependency mitata to v1 Dec 8, 2024
@renovate renovate bot reopened this Dec 8, 2024
@renovate renovate bot force-pushed the renovate/mitata-1.x branch 2 times, most recently from 9054917 to ff8d9c2 Compare December 12, 2024 21:41
@renovate renovate bot force-pushed the renovate/mitata-1.x branch 2 times, most recently from 9ddab00 to 991ee8a Compare December 26, 2024 01:04
@renovate renovate bot force-pushed the renovate/mitata-1.x branch from 991ee8a to 9c71007 Compare January 1, 2025 06:21
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.

0 participants