|
2 | 2 |
|
3 | 3 | Performed on: Tue May 21 2024 |
4 | 4 |
|
5 | | -Node version: v18.20.3 |
| 5 | +Node version: v20.12.2 |
6 | 6 | Platform/Architecture: darwin/arm64 |
7 | 7 |
|
8 | 8 | ## PolicyResolver Benchmarks |
9 | 9 |
|
10 | 10 | | Test Name | Pass/Fail | ops/sec | variance | samples (n) | |
11 | 11 | | --------- | --------- | ------- | -------- | ----------- | |
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 | |
40 | 40 |
|
41 | 41 | ## PolicyDocumentValidator Benchmarks |
42 | 42 |
|
43 | 43 | | Test Name | Pass/Fail | ops/sec | variance | samples (n) | |
44 | 44 | | --------- | --------- | ------- | -------- | ----------- | |
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 | |
51 | 51 |
|
52 | 52 | ## parsePolicyStatement Benchmarks |
53 | 53 |
|
54 | 54 | | Test Name | Pass/Fail | ops/sec | variance | samples (n) | |
55 | 55 | | --------- | --------- | ------- | -------- | ----------- | |
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