Skip to content

Commit ef7e9a2

Browse files
authored
chore: update benchmarks
1 parent e66fdf4 commit ef7e9a2

File tree

7 files changed

+125
-176
lines changed

7 files changed

+125
-176
lines changed

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@
3333
"@commitlint/config-conventional": "^19.8.1",
3434
"@commitlint/config-pnpm-scopes": "^19.8.1",
3535
"@commitlint/cz-commitlint": "^19.8.1",
36+
"@nano_kit/query": "workspace:^",
3637
"@nano_kit/react": "workspace:^",
3738
"@nano_kit/react-router": "workspace:^",
3839
"@nano_kit/router": "workspace:^",
40+
"@nano_kit/store": "workspace:^",
3941
"@nanoviews/storybook-vite": "workspace:^",
4042
"@trigen/eslint-config": "^8.1.2",
4143
"@trigen/scripts": "^8.0.4",

packages/benchmarks/atom.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Bench } from 'tinybench'
22
import * as nanostores from 'nanostores'
3-
import * as signals from 'alien-signals'
3+
import * as signals from 'alien-signals-1'
4+
import * as signals3 from 'alien-signals-3'
45
import * as agera from '../agera/dist/index.js' // 'agera'
56

67
const bench = new Bench({
@@ -13,11 +14,16 @@ bench
1314

1415
$store.set($store.get() + 1)
1516
})
16-
.add('alien-signals / signal', () => {
17+
.add('alien-signals-1 / signal', () => {
1718
const $store = signals.signal(0)
1819

1920
$store($store() + 1)
2021
})
22+
.add('alien-signals-3 / signal', () => {
23+
const $store = signals3.signal(0)
24+
25+
$store($store() + 1)
26+
})
2127
.add('agera / signal', () => {
2228
const $store = agera.signal(0)
2329

packages/benchmarks/computed.js

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Bench } from 'tinybench'
22
import * as nanostores from 'nanostores'
3-
import * as signals from 'alien-signals'
3+
import * as signals from 'alien-signals-1'
4+
import * as signals3 from 'alien-signals-3'
45
import * as agera from '../agera/dist/index.js' // 'agera'
56

67
const bench = new Bench({
@@ -20,7 +21,7 @@ bench
2021

2122
$b.set(3)
2223

23-
value = $c.get()
24+
// value = $c.get()
2425

2526
const off = $c.listen((nextValue) => {
2627
value = nextValue
@@ -31,7 +32,7 @@ bench
3132

3233
off()
3334
})
34-
.add('alien-signals / computed', () => {
35+
.add('alien-signals-1 / computed', () => {
3536
const $a = signals.signal(0)
3637
const $b = signals.signal(1)
3738
const $c = signals.computed(() => $a() + $b())
@@ -54,6 +55,29 @@ bench
5455

5556
effect()
5657
})
58+
.add('alien-signals-3 / computed', () => {
59+
const $a = signals3.signal(0)
60+
const $b = signals3.signal(1)
61+
const $c = signals3.computed(() => $a() + $b())
62+
let value = $c()
63+
64+
$a(2)
65+
66+
value = $c()
67+
68+
$b(3)
69+
70+
// value = $c()
71+
72+
const effect = signals3.effect(() => {
73+
value = $c()
74+
})
75+
76+
$a(4)
77+
$b(5)
78+
79+
effect()
80+
})
5781
.add('agera / computed', () => {
5882
const $a = agera.signal(0)
5983
const $b = agera.signal(1)

packages/benchmarks/effect.js

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Bench } from 'tinybench'
22
import * as nanostores from 'nanostores'
3-
import * as signals from 'alien-signals'
3+
import * as signals from 'alien-signals-1'
4+
import * as signals3 from 'alien-signals-3'
45
import * as agera from '../agera/dist/index.js' // 'agera'
56

67
const bench = new Bench({
@@ -21,7 +22,7 @@ bench
2122

2223
console.assert(logs.length === 3)
2324
})
24-
.add('alien-signals / effect', () => {
25+
.add('alien-signals-1 / effect', () => {
2526
const $store = signals.signal(0)
2627
const logs = []
2728

@@ -34,6 +35,19 @@ bench
3435

3536
console.assert(logs.length === 3)
3637
})
38+
.add('alien-signals-3 / effect', () => {
39+
const $store = signals3.signal(0)
40+
const logs = []
41+
42+
signals3.effect(() => {
43+
logs.push($store())
44+
})
45+
46+
$store($store() + 1)
47+
$store($store() + 1)
48+
49+
console.assert(logs.length === 3)
50+
})
3751
.add('agera / effect', () => {
3852
const $store = agera.signal(0)
3953
const logs = []

packages/benchmarks/effectScope.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { Bench } from 'tinybench'
2-
import * as signals from 'alien-signals'
2+
import * as signals from 'alien-signals-1'
3+
import * as signals3 from 'alien-signals-3'
34
import * as agera from '../agera/dist/index.js' // 'agera'
45

56
const bench = new Bench({
67
time: 1000
78
})
8-
const effectScope = agera.createEffectScope()
99

1010
bench
11-
.add('alien-signals@v1 / effectScope', () => {
11+
.add('alien-signals-1 / effectScope', () => {
1212
const $a = signals.signal(0)
1313
const $b = signals.signal(0)
1414
const destroy = signals.effectScope(() => {
@@ -23,24 +23,24 @@ bench
2323

2424
destroy()
2525
})
26-
.add('agera / effectScope', () => {
27-
const $a = agera.signal(0)
28-
const $b = agera.signal(0)
29-
const destroy = agera.effectScope(() => {
30-
agera.effect(() => {
26+
.add('alien-signals-3 / effectScope', () => {
27+
const $a = signals3.signal(0)
28+
const $b = signals3.signal(0)
29+
const destroy = signals3.effectScope(() => {
30+
signals3.effect(() => {
3131
$a()
3232
})
33-
agera.effect(() => {
33+
signals3.effect(() => {
3434
$a()
3535
$b()
3636
})
3737
})
3838

3939
destroy()
4040
})
41-
.add('agera / effectScope + mountable', () => {
42-
const $a = agera.mountable(agera.signal(0))
43-
const $b = agera.mountable(agera.signal(0))
41+
.add('agera / effectScope', () => {
42+
const $a = agera.signal(0)
43+
const $b = agera.signal(0)
4444
const destroy = agera.effectScope(() => {
4545
agera.effect(() => {
4646
$a()
@@ -53,10 +53,10 @@ bench
5353

5454
destroy()
5555
})
56-
.add('agera / effectScope single instance', () => {
57-
const $a = agera.signal(0)
58-
const $b = agera.signal(0)
59-
const destroy = effectScope(() => {
56+
.add('agera / effectScope + mountable', () => {
57+
const $a = agera.mountable(agera.signal(0))
58+
const $b = agera.mountable(agera.signal(0))
59+
const destroy = agera.effectScope(() => {
6060
agera.effect(() => {
6161
$a()
6262
})

packages/benchmarks/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
"node": ">=16"
2424
},
2525
"dependencies": {
26-
"alien-signals": "1.0.4",
26+
"alien-signals-1": "npm:alien-signals@1.0.4",
27+
"alien-signals-3": "npm:alien-signals@3.1.2",
2728
"nanostores": "^1.0.1",
2829
"tinybench": "^4.0.1"
2930
}

0 commit comments

Comments
 (0)