ReviewOS

also looking at this

stacks/bun-query-builder

chore(deps): update dependency mitata to 1.0.34

#74
Merged chrisbbreuer wants to merge buddy-bot/update-major-update---mitata-1759718089839 into main
1 file +2 -2

This PR contains the following updates:

npm

PackageChangeAgeAdoptionPassingConfidence
mitata (source)0.1.14 -> 1.0.34ageadoptionpassingconfidence

Release Notes

evanwashere/mitata (mitata)

0.1.14 -> 1.0.34

v1.0.23

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                   
                  ...

*[View full release notes]*

*Released by [evanwashere](https://github.com/evanwashere) on 12/25/2024*

### [`v1.0.20`](https://github.com/evanwashere/mitata/releases/tag/v1.0.20)

[Compare Source](https://github.com/evanwashere/mitata/compare/v0.1.14...v1.0.34)

#  New Features

## do_not_optimize
utility function to prevent jit from optimizing out values in benchmarks

```js
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...

*[View full release notes]*

*Released by [evanwashere](https://github.com/evanwashere) on 12/1/2024*

### [`v1.0.14`](https://github.com/evanwashere/mitata/releases/tag/v1.0.14)

[Compare Source](https://github.com/evanwashere/mitata/compare/v0.1.14...v1.0.34)

#  Changes
## groups can have names
```js
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
                                                           ...

*[View full release notes]*

*Released by [evanwashere](https://github.com/evanwashere) on 11/20/2024*

</details>

---

###  Package Statistics

- **mitata**: 88,997 weekly downloads

---

### 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 is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Buddy](https://github.com/stacksjs/buddy-bot) 🤖

1 changed file on the files tab, with 0 review threads.