Skip to content

Commit 7a2176c

Browse files
committed
update
1 parent 984bfaa commit 7a2176c

File tree

3 files changed

+43
-45
lines changed

3 files changed

+43
-45
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@
4848
"eslint": "^9.20.0",
4949
"gensync": "1.0.0-beta.2",
5050
"lint-staged": "^15.4.3",
51+
"mitata": "^1.0.34",
5152
"pnpm": "^10.2.1",
5253
"simple-git-hooks": "^2.11.1",
53-
"tinybench": "^3.1.1",
5454
"tsx": "^4.19.2",
5555
"typescript": "^5.7.3",
5656
"unbuild": "^3.3.1",

pnpm-lock.yaml

+8-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scripts/benchmark.js

+34-35
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
11
// @ts-check
22
import gensync from 'gensync'
3-
import { Bench, hrtimeNow } from 'tinybench'
3+
import { bench, do_not_optimize, run, summary } from 'mitata'
44
// eslint-disable-next-line antfu/no-import-dist
55
import { quansync } from '../dist/index.mjs'
66

7-
const bench = new Bench({
8-
name: 'sync benchmark',
9-
time: 100,
10-
now: hrtimeNow,
11-
})
12-
137
const sync = () => 10
148
const async = async () => 10
159
const addNativeSync = /** @param {number} n */ n => sync() + n
@@ -31,48 +25,53 @@ const gensyncAdd = gensync(/** @param {number} n */ function* (n) {
3125
return (yield * gensyncFn()) + n
3226
})
3327

34-
bench
35-
.add('sync: native fn', () => {
36-
sync()
28+
summary(() => {
29+
bench('sync: native fn', function* () {
30+
yield () => do_not_optimize(sync())
3731
})
38-
.add('sync: quansync fn', () => {
39-
quansyncFn.sync()
32+
bench('sync: quansync fn', function* () {
33+
yield () => do_not_optimize(quansyncFn.sync())
4034
})
41-
.add('sync: gensync fn ', () => {
42-
gensyncFn.sync()
35+
bench('sync: gensync fn ', function* () {
36+
yield () => do_not_optimize(gensyncFn.sync())
4337
})
38+
})
4439

45-
.add('sync: native add', () => {
46-
addNativeSync(1)
40+
summary(() => {
41+
bench('sync: native add', function* () {
42+
yield () => do_not_optimize(addNativeSync(1))
4743
})
48-
.add('sync: quansync add', () => {
49-
quansyncAdd.sync(1)
44+
bench('sync: quansync add', function* () {
45+
yield () => do_not_optimize(quansyncAdd.sync(1))
5046
})
51-
.add('sync: gensync add', () => {
52-
gensyncAdd.sync(1)
47+
bench('sync: gensync add ', function* () {
48+
yield () => do_not_optimize(gensyncAdd.sync(1))
5349
})
50+
})
5451

55-
// ASYNC
56-
.add('async: native fn', async () => {
57-
await async()
52+
summary(() => {
53+
bench('async: native fn', function* () {
54+
yield async () => do_not_optimize(await async())
5855
})
59-
.add('async: quansync fn', async () => {
60-
await quansyncFn.async()
56+
bench('async: quansync fn', function* () {
57+
yield async () => do_not_optimize(await quansyncFn.async())
6158
})
62-
.add('async: gensync fn ', async () => {
63-
await gensyncFn.async()
59+
bench('async: gensync fn ', function* () {
60+
yield async () => do_not_optimize(await gensyncFn.async())
6461
})
62+
})
6563

66-
.add('async: native add', async () => {
67-
await addNativeAsync(1)
64+
summary(() => {
65+
bench('async: native add', function* () {
66+
yield async () => do_not_optimize(await addNativeAsync(1))
6867
})
69-
.add('async: quansync add', async () => {
70-
await quansyncAdd.async(1)
68+
bench('async: quansync add', function* () {
69+
yield async () => do_not_optimize(await quansyncAdd.async(1))
7170
})
72-
.add('async: gensync add', async () => {
73-
await gensyncAdd.async(1)
71+
bench('async: gensync add ', function* () {
72+
yield async () => do_not_optimize(await gensyncAdd.async(1))
7473
})
74+
})
7575

7676
console.info('Running benchmark...')
77-
await bench.run()
78-
console.table(bench.table())
77+
await run()

0 commit comments

Comments
 (0)