-
Notifications
You must be signed in to change notification settings - Fork 379
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(stdlibs): add package
strconv
(#1464)
This PR adds the full `strconv` package, implemented as pure Gno code. It removes the native functions `Itoa` (and others), and adds support for new functions such as `FormatFloat`. # Summary of changes - Standard libraries - Changes of `strconv` from Go stdlib: https://gist.github.com/thehowl/904b42b1ea53fef9b8a0486155c02b73 -- tldr: - removed everything related to complex types. - avoid using reflection and dot imports. - instead of loading testfp.txt, embed the file directly into the source. - define min/max explicitly as they're not built-in yet. - remove go:build tags. - (all of these mostly involve test files.) - `unicode` - Update tables, so that `strconv` tests succeed. - `unicode/utf8` - Update to latest go version. Mostly, use `fallback` (as we now half-support it) and use `AppendString`. - GnoVM - PackageInjector is no longer necessary (hallelujah), see #814 for context. This justifies the changes in `store.go`, `store_test.go`, `nodes.go`, `tests/imports.go`. - `gonative.go` and `machine.go` changes improve some error messages. - `preprocess.go` changes fix a bug which can be seen in the `for20.gno` test. If a `for` loop is labeled, then a bare `break` (ie. without a label to break to) would panic, as it wouldn't find any for loop without a label (in `findBranchLabel`). I added a regression test as well as a couple test showing the error message for when we misplace continue/break statements. - Tests. - `strconv.Itoa` now uses more gas than its existing native implementation. This is to be expected; we can consider moving it back to a native implementation if we deem it useful for performance, but I think it's good for us to work on having as much code implemented directly in gno before moving it back to Go for performance. --------- Co-authored-by: Manfred Touron <[email protected]>
- Loading branch information
Showing
56 changed files
with
9,703 additions
and
750 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
05cd4f5
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Possible performance regression was detected for benchmark 'Go Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold
1.20
.BenchmarkBinary/EmptyStruct:encode
500.5
ns/op 96 B/op 2 allocs/op290.9
ns/op 96 B/op 2 allocs/op1.72
BenchmarkBinary/EmptyStruct:encode - ns/op
500.5
ns/op290.9
ns/op1.72
BenchmarkBinary/EmptyStruct:decode
261.2
ns/op 0 B/op 0 allocs/op143.1
ns/op 0 B/op 0 allocs/op1.83
BenchmarkBinary/EmptyStruct:decode - ns/op
261.2
ns/op143.1
ns/op1.83
BenchmarkBinary/ShortArraysStruct:encode
784.3
ns/op 192 B/op 4 allocs/op603.7
ns/op 192 B/op 4 allocs/op1.30
BenchmarkBinary/ShortArraysStruct:encode - ns/op
784.3
ns/op603.7
ns/op1.30
BenchmarkBinary/ShortArraysStruct:decode
382.4
ns/op 0 B/op 0 allocs/op219.5
ns/op 0 B/op 0 allocs/op1.74
BenchmarkBinary/ShortArraysStruct:decode - ns/op
382.4
ns/op219.5
ns/op1.74
BenchmarkBcryptGenerateFromPassword/benchmark-security-param
63903262
ns/op 5130 B/op 9 allocs/op31935341
ns/op 5125 B/op 9 allocs/op2.00
BenchmarkBcryptGenerateFromPassword/benchmark-security-param - ns/op
63903262
ns/op31935341
ns/op2.00
BenchmarkBcryptGenerateFromPassword/benchmark-security-param
127549304
ns/op 5139 B/op 9 allocs/op31935341
ns/op 5125 B/op 9 allocs/op3.99
BenchmarkBcryptGenerateFromPassword/benchmark-security-param - ns/op
127549304
ns/op31935341
ns/op3.99
BenchmarkBcryptGenerateFromPassword/benchmark-security-param
255057782
ns/op 5158 B/op 9 allocs/op31935341
ns/op 5125 B/op 9 allocs/op7.99
BenchmarkBcryptGenerateFromPassword/benchmark-security-param - ns/op
255057782
ns/op31935341
ns/op7.99
BenchmarkBcryptGenerateFromPassword/benchmark-security-param
509930160
ns/op 5196 B/op 10 allocs/op31935341
ns/op 5125 B/op 9 allocs/op15.97
BenchmarkBcryptGenerateFromPassword/benchmark-security-param - ns/op
509930160
ns/op31935341
ns/op15.97
BenchmarkBcryptGenerateFromPassword/benchmark-security-param
1019802927
ns/op 5736 B/op 15 allocs/op31935341
ns/op 5125 B/op 9 allocs/op31.93
BenchmarkBcryptGenerateFromPassword/benchmark-security-param - ns/op
1019802927
ns/op31935341
ns/op31.93
BenchmarkBcryptGenerateFromPassword/benchmark-security-param - allocs/op
15
allocs/op9
allocs/op1.67
BenchmarkBcryptGenerateFromPassword/benchmark-security-param
2039904969
ns/op 5736 B/op 15 allocs/op31935341
ns/op 5125 B/op 9 allocs/op63.88
BenchmarkBcryptGenerateFromPassword/benchmark-security-param - ns/op
2039904969
ns/op31935341
ns/op63.88
BenchmarkBcryptGenerateFromPassword/benchmark-security-param - allocs/op
15
allocs/op9
allocs/op1.67
BenchmarkSigning
84313
ns/op 1856 B/op 36 allocs/op25709
ns/op 64 B/op 1 allocs/op3.28
BenchmarkSigning - ns/op
84313
ns/op25709
ns/op3.28
BenchmarkSigning - B/op
1856
B/op64
B/op29
BenchmarkSigning - allocs/op
36
allocs/op1
allocs/op36
BenchmarkSigning
83375
ns/op 1856 B/op 36 allocs/op25709
ns/op 64 B/op 1 allocs/op3.24
BenchmarkSigning - ns/op
83375
ns/op25709
ns/op3.24
BenchmarkSigning - B/op
1856
B/op64
B/op29
BenchmarkSigning - allocs/op
36
allocs/op1
allocs/op36
BenchmarkVerification
166793
ns/op 864 B/op 19 allocs/op61140
ns/op 0 B/op 0 allocs/op2.73
BenchmarkVerification - ns/op
166793
ns/op61140
ns/op2.73
BenchmarkVerification - B/op
864
B/op0
B/op+∞
BenchmarkVerification - allocs/op
19
allocs/op0
allocs/op+∞
BenchmarkVerification
165400
ns/op 864 B/op 19 allocs/op61140
ns/op 0 B/op 0 allocs/op2.71
BenchmarkVerification - ns/op
165400
ns/op61140
ns/op2.71
BenchmarkVerification - B/op
864
B/op0
B/op+∞
BenchmarkVerification - allocs/op
19
allocs/op0
allocs/op+∞
BenchmarkBoltDBRandomReadsWrites
1779256
ns/op 24574 B/op 63 allocs/op1432256
ns/op 25633 B/op 64 allocs/op1.24
BenchmarkBoltDBRandomReadsWrites - ns/op
1779256
ns/op1432256
ns/op1.24
BenchmarkRandomBytes/random
68.59
ns/op 16 B/op 1 allocs/op32.1
ns/op 4 B/op 1 allocs/op2.14
BenchmarkRandomBytes/random - ns/op
68.59
ns/op32.1
ns/op2.14
BenchmarkRandomBytes/random - B/op
16
B/op4
B/op4
BenchmarkRandomBytes/random
105.8
ns/op 32 B/op 1 allocs/op32.1
ns/op 4 B/op 1 allocs/op3.30
BenchmarkRandomBytes/random - ns/op
105.8
ns/op32.1
ns/op3.30
BenchmarkRandomBytes/random - B/op
32
B/op4
B/op8
BenchmarkRandomBytes/random
268.8
ns/op 112 B/op 1 allocs/op32.1
ns/op 4 B/op 1 allocs/op8.37
BenchmarkRandomBytes/random - ns/op
268.8
ns/op32.1
ns/op8.37
BenchmarkRandomBytes/random - B/op
112
B/op4
B/op28
BenchmarkRandomBytes/random
2309
ns/op 1024 B/op 1 allocs/op32.1
ns/op 4 B/op 1 allocs/op71.93
BenchmarkRandomBytes/random - ns/op
2309
ns/op32.1
ns/op71.93
BenchmarkRandomBytes/random - B/op
1024
B/op4
B/op256
BenchmarkSmall/boltdb-1000-100-16-40/update
1436734
ns/op 43930 B/op 393 allocs/op990860
ns/op 37941 B/op 376 allocs/op1.45
BenchmarkSmall/boltdb-1000-100-16-40/update - ns/op
1436734
ns/op990860
ns/op1.45
BenchmarkSmall/memdb-1000-100-16-40/update
82517
ns/op 47156 B/op 823 allocs/op65775
ns/op 47028 B/op 822 allocs/op1.25
BenchmarkSmall/memdb-1000-100-16-40/update - ns/op
82517
ns/op65775
ns/op1.25
BenchmarkMedium/boltdb-100000-100-16-40/query-miss
10817
ns/op 1208 B/op 33 allocs/op7909
ns/op 1209 B/op 33 allocs/op1.37
BenchmarkMedium/boltdb-100000-100-16-40/query-miss - ns/op
10817
ns/op7909
ns/op1.37
BenchmarkMedium/boltdb-100000-100-16-40/query-hits
14124
ns/op 1707 B/op 46 allocs/op10599
ns/op 1704 B/op 46 allocs/op1.33
BenchmarkMedium/boltdb-100000-100-16-40/query-hits - ns/op
14124
ns/op10599
ns/op1.33
BenchmarkMedium/boltdb-100000-100-16-40/update
6844966
ns/op 127307 B/op 991 allocs/op5020996
ns/op 96953 B/op 821 allocs/op1.36
BenchmarkMedium/boltdb-100000-100-16-40/update - ns/op
6844966
ns/op5020996
ns/op1.36
BenchmarkMedium/boltdb-100000-100-16-40/update - B/op
127307
B/op96953
B/op1.31
BenchmarkMedium/boltdb-100000-100-16-40/update - allocs/op
991
allocs/op821
allocs/op1.21
BenchmarkMedium/goleveldb-100000-100-16-40/query-miss
14504
ns/op 1539 B/op 28 allocs/op11085
ns/op 1521 B/op 27 allocs/op1.31
BenchmarkMedium/goleveldb-100000-100-16-40/query-miss - ns/op
14504
ns/op11085
ns/op1.31
BenchmarkMedium/goleveldb-100000-100-16-40/query-hits
19478
ns/op 2163 B/op 38 allocs/op14974
ns/op 2153 B/op 38 allocs/op1.30
BenchmarkMedium/goleveldb-100000-100-16-40/query-hits - ns/op
19478
ns/op14974
ns/op1.30
BenchmarkMedium/memdb-100000-100-16-40/query-miss
6505
ns/op 406 B/op 7 allocs/op4276
ns/op 405 B/op 7 allocs/op1.52
BenchmarkMedium/memdb-100000-100-16-40/query-miss - ns/op
6505
ns/op4276
ns/op1.52
BenchmarkMedium/memdb-100000-100-16-40/query-miss
6063
ns/op 403 B/op 7 allocs/op4276
ns/op 405 B/op 7 allocs/op1.42
BenchmarkMedium/memdb-100000-100-16-40/query-miss - ns/op
6063
ns/op4276
ns/op1.42
BenchmarkMedium/memdb-100000-100-16-40/query-hits
7482
ns/op 559 B/op 9 allocs/op4776
ns/op 557 B/op 9 allocs/op1.57
BenchmarkMedium/memdb-100000-100-16-40/query-hits - ns/op
7482
ns/op4776
ns/op1.57
BenchmarkMedium/memdb-100000-100-16-40/query-hits
6716
ns/op 558 B/op 9 allocs/op4776
ns/op 557 B/op 9 allocs/op1.41
BenchmarkMedium/memdb-100000-100-16-40/query-hits - ns/op
6716
ns/op4776
ns/op1.41
BenchmarkMedium/memdb-100000-100-16-40/update
1060276
ns/op 266543 B/op 5154 allocs/op700651
ns/op 293265 B/op 5716 allocs/op1.51
BenchmarkMedium/memdb-100000-100-16-40/update - ns/op
1060276
ns/op700651
ns/op1.51
BenchmarkMedium/memdb-100000-100-16-40/update
1200896
ns/op 361410 B/op 7160 allocs/op700651
ns/op 293265 B/op 5716 allocs/op1.71
BenchmarkMedium/memdb-100000-100-16-40/update - ns/op
1200896
ns/op700651
ns/op1.71
BenchmarkMedium/memdb-100000-100-16-40/update - B/op
361410
B/op293265
B/op1.23
BenchmarkMedium/memdb-100000-100-16-40/update - allocs/op
7160
allocs/op5716
allocs/op1.25
BenchmarkMedium/memdb-100000-100-16-40/block
158964250
ns/op 39887841 B/op 790348 allocs/op102351078
ns/op 39923744 B/op 790554 allocs/op1.55
BenchmarkMedium/memdb-100000-100-16-40/block - ns/op
158964250
ns/op102351078
ns/op1.55
BenchmarkMedium/memdb-100000-100-16-40/block
132044184
ns/op 39860030 B/op 790134 allocs/op102351078
ns/op 39923744 B/op 790554 allocs/op1.29
BenchmarkMedium/memdb-100000-100-16-40/block - ns/op
132044184
ns/op102351078
ns/op1.29
BenchmarkLevelDBBatchSizes/goleveldb-100000-5-16-40/query-miss
14556
ns/op 1529 B/op 27 allocs/op11139
ns/op 1521 B/op 27 allocs/op1.31
BenchmarkLevelDBBatchSizes/goleveldb-100000-5-16-40/query-miss - ns/op
14556
ns/op11139
ns/op1.31
BenchmarkLevelDBBatchSizes/goleveldb-100000-5-16-40/query-hits
19448
ns/op 2140 B/op 38 allocs/op15070
ns/op 2143 B/op 38 allocs/op1.29
BenchmarkLevelDBBatchSizes/goleveldb-100000-5-16-40/query-hits - ns/op
19448
ns/op15070
ns/op1.29
BenchmarkLevelDBBatchSizes/goleveldb-100000-5-16-40/block
2655735
ns/op 417475 B/op 4115 allocs/op2181081
ns/op 402987 B/op 4146 allocs/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-5-16-40/block - ns/op
2655735
ns/op2181081
ns/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/query-miss
14914
ns/op 1525 B/op 27 allocs/op10993
ns/op 1518 B/op 27 allocs/op1.36
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/query-miss - ns/op
14914
ns/op10993
ns/op1.36
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/query-miss
13522
ns/op 1520 B/op 27 allocs/op10993
ns/op 1518 B/op 27 allocs/op1.23
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/query-miss - ns/op
13522
ns/op10993
ns/op1.23
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/query-hits
19141
ns/op 2152 B/op 38 allocs/op14084
ns/op 2146 B/op 38 allocs/op1.36
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/query-hits - ns/op
19141
ns/op14084
ns/op1.36
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/update
354446
ns/op 59025 B/op 636 allocs/op288685
ns/op 58547 B/op 637 allocs/op1.23
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/update - ns/op
354446
ns/op288685
ns/op1.23
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/block
10093850
ns/op 1424009 B/op 17620 allocs/op8250470
ns/op 1440852 B/op 17823 allocs/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-25-16-40/block - ns/op
10093850
ns/op8250470
ns/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/query-miss
14200
ns/op 1515 B/op 27 allocs/op10689
ns/op 1528 B/op 27 allocs/op1.33
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/query-miss - ns/op
14200
ns/op10689
ns/op1.33
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/query-miss
13346
ns/op 1505 B/op 27 allocs/op10689
ns/op 1528 B/op 27 allocs/op1.25
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/query-miss - ns/op
13346
ns/op10689
ns/op1.25
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/query-hits
18370
ns/op 2151 B/op 38 allocs/op14108
ns/op 2142 B/op 38 allocs/op1.30
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/query-hits - ns/op
18370
ns/op14108
ns/op1.30
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/query-hits
17253
ns/op 2156 B/op 38 allocs/op14108
ns/op 2142 B/op 38 allocs/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/query-hits - ns/op
17253
ns/op14108
ns/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/update
279091
ns/op 48003 B/op 554 allocs/op228712
ns/op 47583 B/op 547 allocs/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-100-16-40/update - ns/op
279091
ns/op228712
ns/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-400-16-40/query-miss
14194
ns/op 1536 B/op 28 allocs/op10270
ns/op 1510 B/op 27 allocs/op1.38
BenchmarkLevelDBBatchSizes/goleveldb-100000-400-16-40/query-miss - ns/op
14194
ns/op10270
ns/op1.38
BenchmarkLevelDBBatchSizes/goleveldb-100000-400-16-40/query-hits
17801
ns/op 2169 B/op 38 allocs/op13229
ns/op 2145 B/op 38 allocs/op1.35
BenchmarkLevelDBBatchSizes/goleveldb-100000-400-16-40/query-hits - ns/op
17801
ns/op13229
ns/op1.35
BenchmarkLevelDBBatchSizes/goleveldb-100000-400-16-40/query-hits
16123
ns/op 2159 B/op 38 allocs/op13229
ns/op 2145 B/op 38 allocs/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-400-16-40/query-hits - ns/op
16123
ns/op13229
ns/op1.22
BenchmarkLevelDBBatchSizes/goleveldb-100000-400-16-40/update - B/op
48270
B/op38841
B/op1.24
BenchmarkLevelDBBatchSizes/goleveldb-100000-400-16-40/update - allocs/op
575
allocs/op455
allocs/op1.26
BenchmarkLevelDBBatchSizes/goleveldb-100000-2000-16-40/query-miss
13807
ns/op 1502 B/op 27 allocs/op10224
ns/op 1511 B/op 27 allocs/op1.35
BenchmarkLevelDBBatchSizes/goleveldb-100000-2000-16-40/query-miss - ns/op
13807
ns/op10224
ns/op1.35
BenchmarkLevelDBBatchSizes/goleveldb-100000-2000-16-40/query-miss
13097
ns/op 1517 B/op 27 allocs/op10224
ns/op 1511 B/op 27 allocs/op1.28
BenchmarkLevelDBBatchSizes/goleveldb-100000-2000-16-40/query-miss - ns/op
13097
ns/op10224
ns/op1.28
BenchmarkLevelDBBatchSizes/goleveldb-100000-2000-16-40/query-hits
18586
ns/op 2151 B/op 38 allocs/op13463
ns/op 2145 B/op 38 allocs/op1.38
BenchmarkLevelDBBatchSizes/goleveldb-100000-2000-16-40/query-hits - ns/op
18586
ns/op13463
ns/op1.38
BenchmarkHash/ripemd160
2827
ns/op 25 B/op 1 allocs/op694
ns/op 25 B/op 1 allocs/op4.07
BenchmarkHash/ripemd160 - ns/op
2827
ns/op694
ns/op4.07
BenchmarkHash/sha2-256
524.3
ns/op 33 B/op 1 allocs/op157.2
ns/op 33 B/op 1 allocs/op3.34
BenchmarkHash/sha2-256 - ns/op
524.3
ns/op157.2
ns/op3.34
BenchmarkHash/sha3-256
1847
ns/op 33 B/op 1 allocs/op687
ns/op 33 B/op 1 allocs/op2.69
BenchmarkHash/sha3-256 - ns/op
1847
ns/op687
ns/op2.69
BenchmarkWriteSecretConnection
6769
ns/op 0 B/op 0 allocs/op4092
ns/op 0 B/op 0 allocs/op1.65
BenchmarkWriteSecretConnection - ns/op
6769
ns/op4092
ns/op1.65
BenchmarkReadSecretConnection
3728
ns/op 0 B/op 0 allocs/op2354
ns/op 0 B/op 0 allocs/op1.58
BenchmarkReadSecretConnection - ns/op
3728
ns/op2354
ns/op1.58
BenchmarkAccountMapperSetAccount
22859
ns/op 10672 B/op 141 allocs/op17392
ns/op 10895 B/op 143 allocs/op1.31
BenchmarkAccountMapperSetAccount - ns/op
22859
ns/op17392
ns/op1.31
BenchmarkAccountMapperSetAccountWithCoins
25590
ns/op 11493 B/op 186 allocs/op19753
ns/op 11654 B/op 188 allocs/op1.30
BenchmarkAccountMapperSetAccountWithCoins - ns/op
25590
ns/op19753
ns/op1.30
BenchmarkCacheStoreIterator50000
9111756
ns/op 2400676 B/op 4082 allocs/op6301427
ns/op 2302702 B/op 2358 allocs/op1.45
BenchmarkCacheStoreIterator50000 - ns/op
9111756
ns/op6301427
ns/op1.45
BenchmarkCacheStoreIterator50000 - allocs/op
4082
allocs/op2358
allocs/op1.73
BenchmarkCacheStoreIterator100000
26105501
ns/op 5791482 B/op 22732 allocs/op16418542
ns/op 5332282 B/op 14679 allocs/op1.59
BenchmarkCacheStoreIterator100000 - ns/op
26105501
ns/op16418542
ns/op1.59
BenchmarkCacheStoreIterator100000 - allocs/op
22732
allocs/op14679
allocs/op1.55
BenchmarkCacheStoreIterator100000
24336600
ns/op 5701823 B/op 21152 allocs/op16418542
ns/op 5332282 B/op 14679 allocs/op1.48
BenchmarkCacheStoreIterator100000 - ns/op
24336600
ns/op16418542
ns/op1.48
BenchmarkCacheStoreIterator100000 - allocs/op
21152
allocs/op14679
allocs/op1.44
BenchmarkCacheStoreGetNoKeyFound
746.8
ns/op 179 B/op 3 allocs/op573.1
ns/op 148 B/op 3 allocs/op1.30
BenchmarkCacheStoreGetNoKeyFound - ns/op
746.8
ns/op573.1
ns/op1.30
BenchmarkCacheStoreGetNoKeyFound - B/op
179
B/op148
B/op1.21
This comment was automatically generated by workflow using github-action-benchmark.
CC: @ajnavarro @thehowl @zivkovicmilos