ReviewOS

also looking at this

stacks/ts-md

chore(deps): update all non-major dependencies

#4
Merged renovate[bot] wants to merge renovate/all-minor-patch into main
3 files +16 -14
10 days ago

This PR contains the following updates:

PackageChangeAgeAdoptionPassingConfidenceTypeUpdate
better-dx^0.2.3 → ^0.2.5ageadoptionpassingconfidencedevDependenciespatch
js-yaml^4.1.0 → ^4.1.1ageadoptionpassingconfidencedevDependenciespatch
marked (source)^17.0.0 → ^17.0.1ageadoptionpassingconfidencedevDependenciespatch
mitata^1.0.10 → ^1.0.34ageadoptionpassingconfidencedevDependenciespatch
stacksjs/action-releaserv1.1.0 → v1.2.7ageadoptionpassingconfidenceactionminor

Release Notes

stacksjs/development (better-dx)

v0.2.5

Compare Source

No significant changes

    View changes on GitHub

v0.2.4

Compare Source

No significant changes

    View changes on GitHub
nodeca/js-yaml (js-yaml)

v4.1.1

Compare Source

Security
  • Fix prototype pollution issue in yaml merge (<<) operator.
markedjs/marked (marked)

v17.0.1

Compare Source

Bug Fixes
evanwashere/mitata (mitata)

v1.0.34

Compare Source

v1.0.33

Compare Source

v1.0.32

Compare Source

v1.0.31

Compare Source

v1.0.30

Compare Source

v1.0.29

Compare Source

v1.0.28

Compare Source

v1.0.27

Compare Source

v1.0.26

Compare Source

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 @&#8203;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)

benchmarkavgminp75p99max
1 + 1 90.69 ps/iter 61.04 ps 91.55 ps122.07 ps309.74 ns
Date.now() 28.70 ns/iter 26.70 ns 28.01 ns 43.35 ns413.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

stacksjs/action-releaser (stacksjs/action-releaser)

v1.2.7

Compare Source

v1.2.6

Compare Source

Compare changes

🐛 Bug Fixes
  • include dist directory in git for GitHub Actions (b6da289)
🧹 Chores
Contributors
  • Chris <chrisbreuer93@>​gmail.com>

v1.2.5

Compare Source

Compare changes

🐛 Bug Fixes
  • use local action in release workflow (9c930e1)
🧹 Chores
Contributors
  • Chris <chrisbreuer93@>​gmail.com>

v1.2.4

Compare Source

v1.2.3

Compare Source

v1.2.2

Compare Source

v1.2.1

Compare Source

v1.2.0

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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

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

3 changed files on the files tab, with 0 review threads.

Sign in to comment on this pull request.