Skip to content

Commit 415f474

Browse files
committed
fixup: use v20 for github tasks
- fixup: add benchmarks using v20
1 parent 4068c8d commit 415f474

File tree

4 files changed

+42
-42
lines changed

4 files changed

+42
-42
lines changed

.github/workflows/node.js.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
strategy:
1818
matrix:
19-
node-version: [16.x, 18.x]
19+
node-version: [18.x, 20.x, 22.x]
2020
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
2121

2222
steps:

.github/workflows/npm-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
persist-credentials: false
1616
- uses: actions/setup-node@v3
1717
with:
18-
node-version: lts/*
18+
node-version-file: .nvmrc
1919
cache: 'npm'
2020
registry-url: https://registry.npmjs.org/
2121
- run: npm ci

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v18
1+
20

benchmarks/results.md

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,58 +2,58 @@
22

33
Performed on: Tue May 21 2024
44

5-
Node version: v18.20.3
5+
Node version: v20.12.2
66
Platform/Architecture: darwin/arm64
77

88
## PolicyResolver Benchmarks
99

1010
| Test Name | Pass/Fail | ops/sec | variance | samples (n) |
1111
| --------- | --------- | ------- | -------- | ----------- |
12-
| globAll:new:uncached:ctx:allow | PASS | 362,925.934 ops/sec | ±0.21% | 100 samples |
13-
| globAll:new:cached:ctx:allow | PASS | 376,702.321 ops/sec | ±0.31% | 96 samples |
14-
| globAll:instance:uncached:ctx:deny | PASS | 2,016,321.415 ops/sec | ±0.19% | 99 samples |
15-
| globAll:instance:cached:ctx:deny | PASS | 2,004,663.006 ops/sec | ±0.24% | 99 samples |
16-
| globStart:new:uncached:ctx:allow | PASS | 233,924.435 ops/sec | ±0.53% | 100 samples |
17-
| globStart:new:cached:ctx:allow | PASS | 243,196.975 ops/sec | ±0.44% | 98 samples |
18-
| globStart:new:uncached:ctx:deny | PASS | 344,706.944 ops/sec | ±0.30% | 94 samples |
19-
| globStart:new:cached:ctx:deny | PASS | 373,141.85 ops/sec | ±0.20% | 100 samples |
20-
| globStart:new:uncached:noctx:allow | PASS | 535,972.458 ops/sec | ±0.44% | 98 samples |
21-
| globStart:new:cached:noctx:allow | PASS | 572,992.559 ops/sec | ±0.49% | 96 samples |
22-
| globStart:instance:uncached:ctx:allow | PASS | 423,880.822 ops/sec | ±0.19% | 99 samples |
23-
| globStart:instance:cached:ctx:allow | PASS | 423,524.07 ops/sec | ±0.17% | 98 samples |
24-
| globStart:instance:uncached:ctx:deny | PASS | 993,611.273 ops/sec | ±0.13% | 94 samples |
25-
| globStart:instance:cached:ctx:deny | PASS | 991,394.895 ops/sec | ±0.12% | 101 samples |
26-
| globStart:instance:uncached:noctx:allow | PASS | 31,070,223.901 ops/sec | ±0.22% | 100 samples |
27-
| globStart:instance:cached:noctx:allow | PASS | 31,199,840.323 ops/sec | ±0.18% | 100 samples |
28-
| exact:new:uncached:ctx:allow | PASS | 236,052.54 ops/sec | ±0.16% | 100 samples |
29-
| exact:new:cached:ctx:allow | PASS | 241,620.637 ops/sec | ±0.75% | 98 samples |
30-
| exact:new:uncached:ctx:deny | PASS | 342,903.584 ops/sec | ±0.28% | 99 samples |
31-
| exact:new:cached:ctx:deny | PASS | 371,754.785 ops/sec | ±0.22% | 100 samples |
32-
| exact:new:uncached:noctx:allow | PASS | 532,908.853 ops/sec | ±0.53% | 96 samples |
33-
| exact:new:cached:noctx:allow | PASS | 570,512.541 ops/sec | ±0.49% | 94 samples |
34-
| exact:instance:uncached:ctx:allow | PASS | 424,206.572 ops/sec | ±0.15% | 98 samples |
35-
| exact:instance:cached:ctx:allow | PASS | 421,857.159 ops/sec | ±0.21% | 98 samples |
36-
| exact:instance:uncached:ctx:deny | PASS | 981,045.223 ops/sec | ±0.22% | 96 samples |
37-
| exact:instance:cached:ctx:deny | PASS | 973,648.547 ops/sec | ±0.47% | 98 samples |
38-
| exact:instance:uncached:noctx:allow | PASS | 28,318,343.335 ops/sec | ±0.56% | 95 samples |
39-
| exact:instance:cached:noctx:allow | PASS | 31,088,744.991 ops/sec | ±0.23% | 98 samples |
12+
| globAll:new:uncached:ctx:allow | PASS | 377,957.322 ops/sec | ±0.21% | 95 samples |
13+
| globAll:new:cached:ctx:allow | PASS | 395,191.764 ops/sec | ±0.19% | 96 samples |
14+
| globAll:instance:uncached:ctx:deny | PASS | 2,073,325.264 ops/sec | ±0.18% | 100 samples |
15+
| globAll:instance:cached:ctx:deny | PASS | 2,053,311.602 ops/sec | ±0.15% | 99 samples |
16+
| globStart:new:uncached:ctx:allow | PASS | 272,972.469 ops/sec | ±0.12% | 100 samples |
17+
| globStart:new:cached:ctx:allow | PASS | 285,783.376 ops/sec | ±0.20% | 102 samples |
18+
| globStart:new:uncached:ctx:deny | PASS | 367,638.211 ops/sec | ±0.14% | 100 samples |
19+
| globStart:new:cached:ctx:deny | PASS | 389,738.979 ops/sec | ±0.23% | 96 samples |
20+
| globStart:new:uncached:noctx:allow | PASS | 567,178.046 ops/sec | ±0.65% | 93 samples |
21+
| globStart:new:cached:noctx:allow | PASS | 609,382.161 ops/sec | ±0.51% | 96 samples |
22+
| globStart:instance:uncached:ctx:allow | PASS | 511,687.007 ops/sec | ±0.50% | 100 samples |
23+
| globStart:instance:cached:ctx:allow | PASS | 518,035.77 ops/sec | ±0.23% | 94 samples |
24+
| globStart:instance:uncached:ctx:deny | PASS | 1,033,406.199 ops/sec | ±0.29% | 93 samples |
25+
| globStart:instance:cached:ctx:deny | PASS | 1,035,170.917 ops/sec | ±0.21% | 101 samples |
26+
| globStart:instance:uncached:noctx:allow | PASS | 26,262,649.789 ops/sec | ±0.30% | 98 samples |
27+
| globStart:instance:cached:noctx:allow | PASS | 28,299,641.361 ops/sec | ±0.58% | 99 samples |
28+
| exact:new:uncached:ctx:allow | PASS | 268,255.879 ops/sec | ±0.21% | 98 samples |
29+
| exact:new:cached:ctx:allow | PASS | 280,607.282 ops/sec | ±0.40% | 95 samples |
30+
| exact:new:uncached:ctx:deny | PASS | 360,958.252 ops/sec | ±0.22% | 101 samples |
31+
| exact:new:cached:ctx:deny | PASS | 384,227.956 ops/sec | ±0.18% | 98 samples |
32+
| exact:new:uncached:noctx:allow | PASS | 566,359.893 ops/sec | ±0.43% | 97 samples |
33+
| exact:new:cached:noctx:allow | PASS | 598,700.269 ops/sec | ±0.54% | 95 samples |
34+
| exact:instance:uncached:ctx:allow | PASS | 515,148.794 ops/sec | ±0.36% | 100 samples |
35+
| exact:instance:cached:ctx:allow | PASS | 516,762.903 ops/sec | ±0.35% | 98 samples |
36+
| exact:instance:uncached:ctx:deny | PASS | 1,028,596.301 ops/sec | ±0.21% | 96 samples |
37+
| exact:instance:cached:ctx:deny | PASS | 1,031,449.444 ops/sec | ±0.25% | 99 samples |
38+
| exact:instance:uncached:noctx:allow | PASS | 28,174,988.938 ops/sec | ±0.89% | 95 samples |
39+
| exact:instance:cached:noctx:allow | PASS | 28,417,978.32 ops/sec | ±0.22% | 98 samples |
4040

4141
## PolicyDocumentValidator Benchmarks
4242

4343
| Test Name | Pass/Fail | ops/sec | variance | samples (n) |
4444
| --------- | --------- | ------- | -------- | ----------- |
45-
| new | PASS | 442.539 ops/sec | ±1.16% | 90 samples |
46-
| new:glob | PASS | 452.529 ops/sec | ±0.71% | 94 samples |
47-
| getInstance | PASS | 639,769.339 ops/sec | ±0.21% | 101 samples |
48-
| getInstance:glob | PASS | 7,334,000.748 ops/sec | ±0.17% | 99 samples |
49-
| reuse | PASS | 646,806.572 ops/sec | ±0.44% | 99 samples |
50-
| reuse:glob | PASS | 8,063,421.861 ops/sec | ±0.17% | 98 samples |
45+
| new | PASS | 458.78 ops/sec | ±0.80% | 94 samples |
46+
| new:glob | PASS | 454.211 ops/sec | ±1.17% | 89 samples |
47+
| getInstance | PASS | 696,991.616 ops/sec | ±0.22% | 101 samples |
48+
| getInstance:glob | PASS | 7,973,198.177 ops/sec | ±0.94% | 95 samples |
49+
| reuse | PASS | 707,386.955 ops/sec | ±0.65% | 97 samples |
50+
| reuse:glob | PASS | 8,554,128.721 ops/sec | ±0.59% | 92 samples |
5151

5252
## parsePolicyStatement Benchmarks
5353

5454
| Test Name | Pass/Fail | ops/sec | variance | samples (n) |
5555
| --------- | --------- | ------- | -------- | ----------- |
56-
| single | PASS | 16,170,574.995 ops/sec | ±0.62% | 96 samples |
57-
| multiple | PASS | 13,436,455.299 ops/sec | ±0.35% | 97 samples |
58-
| glob | PASS | 26,807,029.672 ops/sec | ±0.55% | 95 samples |
59-
| regex | PASS | 2,980,691.203 ops/sec | ±0.27% | 100 samples |
56+
| single | PASS | 17,905,358.195 ops/sec | ±0.36% | 96 samples |
57+
| multiple | PASS | 15,119,110.363 ops/sec | ±0.88% | 99 samples |
58+
| glob | PASS | 28,698,364.571 ops/sec | ±1.15% | 100 samples |
59+
| regex | PASS | 3,021,340.42 ops/sec | ±0.25% | 99 samples |

0 commit comments

Comments
 (0)