-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Turn schema framing into a class (#1417)
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
- Loading branch information
Showing
20 changed files
with
1,474 additions
and
1,774 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
Oops, something went wrong.
1a6da6d
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.
Benchmark (macos/llvm)
JSON_Array_Of_Objects_Unique
340.6625021848412
ns/iter360.64912257468245
ns/iter0.94
JSON_Parse_1
22170.83782495344
ns/iter23653.79438115162
ns/iter0.94
JSON_Fast_Hash_Helm_Chart_Lock
47.84275429726775
ns/iter51.253201128437176
ns/iter0.93
JSON_Equality_Helm_Chart_Lock
141.8739266102123
ns/iter142.69416022857365
ns/iter0.99
Regex_Lower_S_Or_Upper_S_Asterisk
1.5877412574866696
ns/iter1.6045096805700656
ns/iter0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar
1.5777901913944548
ns/iter1.5703066726680281
ns/iter1.00
Regex_Period_Asterisk
1.6089495676555274
ns/iter1.5748174212463257
ns/iter1.02
Regex_Group_Period_Asterisk_Group
1.5825410701252234
ns/iter1.5918576180073154
ns/iter0.99
Regex_Period_Plus
1.9281773602416197
ns/iter1.9054647681817847
ns/iter1.01
Regex_Period
1.9733444759227408
ns/iter1.992953358258757
ns/iter0.99
Regex_Caret_Period_Plus_Dollar
1.9704351780372347
ns/iter1.9959298735298903
ns/iter0.99
Regex_Caret_Group_Period_Plus_Group_Dollar
1.9577466392155483
ns/iter2.0724836296927553
ns/iter0.94
Regex_Caret_Period_Asterisk_Dollar
1.630208549598389
ns/iter1.788407284719736
ns/iter0.91
Regex_Caret_Group_Period_Asterisk_Group_Dollar
1.6381790987141764
ns/iter1.666632092376026
ns/iter0.98
Regex_Caret_X_Hyphen
6.3898150999911465
ns/iter6.992695347711883
ns/iter0.91
Regex_Period_Md_Dollar
71.70319708723638
ns/iter72.75182007613687
ns/iter0.99
Regex_Caret_Slash_Period_Asterisk
5.470715000000155
ns/iter6.992363070129627
ns/iter0.78
Regex_Caret_Period_Range_Dollar
2.284689368606888
ns/iter2.133512529836628
ns/iter1.07
Regex_Nested_Backtrack
760.835397248605
ns/iter727.012901243631
ns/iter1.05
Pointer_Object_Traverse
14.86239966618817
ns/iter14.764054979109073
ns/iter1.01
Pointer_Object_Try_Traverse
32.11969695858958
ns/iter31.440202491005927
ns/iter1.02
Pointer_Push_Back_Pointer_To_Weak_Pointer
180.52178460274192
ns/iter173.17992659166924
ns/iter1.04
This comment was automatically generated by workflow using github-action-benchmark.
1a6da6d
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.
Benchmark (linux/llvm)
JSON_Array_Of_Objects_Unique
454.3571704729616
ns/iter432.54453382903506
ns/iter1.05
JSON_Parse_1
30493.34058378254
ns/iter30096.75415053666
ns/iter1.01
JSON_Fast_Hash_Helm_Chart_Lock
54.71200257549506
ns/iter60.736773425408636
ns/iter0.90
JSON_Equality_Helm_Chart_Lock
150.12315659323323
ns/iter149.5472496677341
ns/iter1.00
Regex_Lower_S_Or_Upper_S_Asterisk
2.209077715288832
ns/iter2.2101433633174965
ns/iter1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar
2.1984240363835976
ns/iter2.209297124408009
ns/iter1.00
Regex_Period_Asterisk
2.212962722031242
ns/iter2.213277746606503
ns/iter1.00
Regex_Group_Period_Asterisk_Group
2.2035402066662066
ns/iter2.2134752954073185
ns/iter1.00
Regex_Period_Plus
2.4875245060420785
ns/iter2.4883742988004802
ns/iter1.00
Regex_Period
2.4962674492061527
ns/iter2.2128603211101323
ns/iter1.13
Regex_Caret_Period_Plus_Dollar
2.4938361420391733
ns/iter2.2173238376929767
ns/iter1.12
Regex_Caret_Group_Period_Plus_Group_Dollar
2.48941099516616
ns/iter2.216469586509374
ns/iter1.12
Regex_Caret_Period_Asterisk_Dollar
3.418618517618547
ns/iter2.385101996143657
ns/iter1.43
Regex_Caret_Group_Period_Asterisk_Group_Dollar
3.4192004684764803
ns/iter2.214756944531751
ns/iter1.54
Regex_Caret_X_Hyphen
12.57431368918654
ns/iter13.048791104757349
ns/iter0.96
Regex_Period_Md_Dollar
73.89973355065311
ns/iter79.1325106869709
ns/iter0.93
Regex_Caret_Slash_Period_Asterisk
7.1474103993680576
ns/iter6.221289086708885
ns/iter1.15
Regex_Caret_Period_Range_Dollar
3.732957458437576
ns/iter3.733126920909408
ns/iter1.00
Regex_Nested_Backtrack
494.7966211526485
ns/iter500.3022369546572
ns/iter0.99
Pointer_Object_Traverse
44.934118958557086
ns/iter44.894431923998305
ns/iter1.00
Pointer_Object_Try_Traverse
52.43666164324829
ns/iter52.33582066720902
ns/iter1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer
352.1849325468392
ns/iter380.28636023640075
ns/iter0.93
This comment was automatically generated by workflow using github-action-benchmark.
1a6da6d
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.
Benchmark (windows/msvc)
JSON_Array_Of_Objects_Unique
420.10982010640726
ns/iter421.4853427908528
ns/iter1.00
JSON_Parse_1
81179.37500000038
ns/iter80318.90624999555
ns/iter1.01
JSON_Fast_Hash_Helm_Chart_Lock
55.316705357140805
ns/iter55.53470535714057
ns/iter1.00
JSON_Equality_Helm_Chart_Lock
224.74362500002343
ns/iter220.66437500001254
ns/iter1.02
Regex_Lower_S_Or_Upper_S_Asterisk
8.742857103827472
ns/iter8.444252640874119
ns/iter1.04
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar
7.937290624999704
ns/iter8.19787228483079
ns/iter0.97
Regex_Period_Asterisk
7.870813357718728
ns/iter7.775402643859273
ns/iter1.01
Regex_Group_Period_Asterisk_Group
8.278830766612309
ns/iter7.902271205357485
ns/iter1.05
Regex_Period_Plus
7.814255322256606
ns/iter7.948154428802565
ns/iter0.98
Regex_Period
7.833013392856612
ns/iter8.023016741072198
ns/iter0.98
Regex_Caret_Period_Plus_Dollar
7.911426339284639
ns/iter8.044575892857914
ns/iter0.98
Regex_Caret_Group_Period_Plus_Group_Dollar
8.1273066601469
ns/iter8.142361570793573
ns/iter1.00
Regex_Caret_Period_Asterisk_Dollar
8.040729874818753
ns/iter8.19105665986122
ns/iter0.98
Regex_Caret_Group_Period_Asterisk_Group_Dollar
8.079165178571657
ns/iter7.806166036580585
ns/iter1.03
Regex_Caret_X_Hyphen
11.671503124999205
ns/iter11.83149107142713
ns/iter0.99
Regex_Period_Md_Dollar
142.06408963999175
ns/iter141.68124999999677
ns/iter1.00
Regex_Caret_Slash_Period_Asterisk
11.806403571426927
ns/iter11.874508928571004
ns/iter0.99
Regex_Caret_Period_Range_Dollar
9.958868749999183
ns/iter8.771090585844108
ns/iter1.14
Regex_Nested_Backtrack
586.1799107142319
ns/iter588.5875892856924
ns/iter1.00
Pointer_Object_Traverse
56.11527678570586
ns/iter56.308107142858226
ns/iter1.00
Pointer_Object_Try_Traverse
75.83090178571743
ns/iter76.385669642866
ns/iter0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer
182.1139716173084
ns/iter178.0819583536858
ns/iter1.02
This comment was automatically generated by workflow using github-action-benchmark.
1a6da6d
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.
Benchmark (linux/gcc)
Pointer_Object_Traverse
43.93053639519459
ns/iter44.442655358362416
ns/iter0.99
Pointer_Object_Try_Traverse
22.445208078807614
ns/iter23.494253306557223
ns/iter0.96
Pointer_Push_Back_Pointer_To_Weak_Pointer
213.36046778352457
ns/iter213.10647199887742
ns/iter1.00
Regex_Lower_S_Or_Upper_S_Asterisk
2.4926021009840857
ns/iter2.4867689628241503
ns/iter1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar
2.488385048522923
ns/iter2.4866296913992514
ns/iter1.00
Regex_Period_Asterisk
2.488697824092922
ns/iter2.4900820195803837
ns/iter1.00
Regex_Group_Period_Asterisk_Group
2.486791233937714
ns/iter2.500625816047421
ns/iter0.99
Regex_Period_Plus
2.7986096946674897
ns/iter2.7996740635189394
ns/iter1.00
Regex_Period
2.799725282772495
ns/iter2.798593663171218
ns/iter1.00
Regex_Caret_Period_Plus_Dollar
2.800075384777244
ns/iter2.801115065661819
ns/iter1.00
Regex_Caret_Group_Period_Plus_Group_Dollar
2.799605277078104
ns/iter2.799230646183924
ns/iter1.00
Regex_Caret_Period_Asterisk_Dollar
3.730975550774547
ns/iter3.7366498414245948
ns/iter1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar
3.730193537789501
ns/iter3.72887042415774
ns/iter1.00
Regex_Caret_X_Hyphen
12.464309183245597
ns/iter12.430287154594764
ns/iter1.00
Regex_Period_Md_Dollar
87.77102214030064
ns/iter87.76658876557609
ns/iter1.00
Regex_Caret_Slash_Period_Asterisk
6.216949519881484
ns/iter7.1544644729608855
ns/iter0.87
Regex_Caret_Period_Range_Dollar
4.039302857557168
ns/iter4.041553739499392
ns/iter1.00
Regex_Nested_Backtrack
811.0219807483962
ns/iter812.0105512761013
ns/iter1.00
JSON_Array_Of_Objects_Unique
378.4471204459956
ns/iter379.34210943864036
ns/iter1.00
JSON_Parse_1
32758.15667792248
ns/iter32831.962390520355
ns/iter1.00
JSON_Fast_Hash_Helm_Chart_Lock
63.83986317023322
ns/iter62.99960128501887
ns/iter1.01
JSON_Equality_Helm_Chart_Lock
146.62433423383143
ns/iter145.29841994331204
ns/iter1.01
This comment was automatically generated by workflow using github-action-benchmark.
1a6da6d
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.
Benchmark (linux/llvm)
JSON_Array_Of_Objects_Unique
468.2803613892782
ns/iter432.54453382903506
ns/iter1.08
JSON_Parse_1
30515.170443650513
ns/iter30096.75415053666
ns/iter1.01
JSON_Fast_Hash_Helm_Chart_Lock
54.85217615197577
ns/iter60.736773425408636
ns/iter0.90
JSON_Equality_Helm_Chart_Lock
149.5508050587914
ns/iter149.5472496677341
ns/iter1.00
Regex_Lower_S_Or_Upper_S_Asterisk
2.3077673764171975
ns/iter2.2101433633174965
ns/iter1.04
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar
2.206087115235731
ns/iter2.209297124408009
ns/iter1.00
Regex_Period_Asterisk
2.4868490753506536
ns/iter2.213277746606503
ns/iter1.12
Regex_Group_Period_Asterisk_Group
2.206996362244437
ns/iter2.2134752954073185
ns/iter1.00
Regex_Period_Plus
2.7394726219854455
ns/iter2.4883742988004802
ns/iter1.10
Regex_Period
2.2143949291531553
ns/iter2.2128603211101323
ns/iter1.00
Regex_Caret_Period_Plus_Dollar
2.2252429935574805
ns/iter2.2173238376929767
ns/iter1.00
Regex_Caret_Group_Period_Plus_Group_Dollar
2.212598342157827
ns/iter2.216469586509374
ns/iter1.00
Regex_Caret_Period_Asterisk_Dollar
2.4846937877842783
ns/iter2.385101996143657
ns/iter1.04
Regex_Caret_Group_Period_Asterisk_Group_Dollar
2.4899461975856036
ns/iter2.214756944531751
ns/iter1.12
Regex_Caret_X_Hyphen
13.052657733382212
ns/iter13.048791104757349
ns/iter1.00
Regex_Period_Md_Dollar
75.60887049893493
ns/iter79.1325106869709
ns/iter0.96
Regex_Caret_Slash_Period_Asterisk
7.1455931105507124
ns/iter6.221289086708885
ns/iter1.15
Regex_Caret_Period_Range_Dollar
2.531604194839344
ns/iter3.733126920909408
ns/iter0.68
Regex_Nested_Backtrack
488.3848863779664
ns/iter500.3022369546572
ns/iter0.98
Pointer_Object_Traverse
44.802587607877044
ns/iter44.894431923998305
ns/iter1.00
Pointer_Object_Try_Traverse
52.289761550833944
ns/iter52.33582066720902
ns/iter1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer
351.80301538353433
ns/iter380.28636023640075
ns/iter0.93
This comment was automatically generated by workflow using github-action-benchmark.
1a6da6d
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.
Benchmark (macos/llvm)
JSON_Array_Of_Objects_Unique
331.70046062786145
ns/iter360.64912257468245
ns/iter0.92
JSON_Parse_1
21356.25038047383
ns/iter23653.79438115162
ns/iter0.90
JSON_Fast_Hash_Helm_Chart_Lock
47.67208385950813
ns/iter51.253201128437176
ns/iter0.93
JSON_Equality_Helm_Chart_Lock
139.7911973177559
ns/iter142.69416022857365
ns/iter0.98
Regex_Lower_S_Or_Upper_S_Asterisk
1.5689072916026028
ns/iter1.6045096805700656
ns/iter0.98
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar
1.5698950122230781
ns/iter1.5703066726680281
ns/iter1.00
Regex_Period_Asterisk
1.569736139325377
ns/iter1.5748174212463257
ns/iter1.00
Regex_Group_Period_Asterisk_Group
1.6620222074223656
ns/iter1.5918576180073154
ns/iter1.04
Regex_Period_Plus
1.9008268133158577
ns/iter1.9054647681817847
ns/iter1.00
Regex_Period
2.0175798981743736
ns/iter1.992953358258757
ns/iter1.01
Regex_Caret_Period_Plus_Dollar
1.9916746586339862
ns/iter1.9959298735298903
ns/iter1.00
Regex_Caret_Group_Period_Plus_Group_Dollar
1.9419252366861217
ns/iter2.0724836296927553
ns/iter0.94
Regex_Caret_Period_Asterisk_Dollar
1.5770659764426913
ns/iter1.788407284719736
ns/iter0.88
Regex_Caret_Group_Period_Asterisk_Group_Dollar
1.5838795660592926
ns/iter1.666632092376026
ns/iter0.95
Regex_Caret_X_Hyphen
6.299122697654158
ns/iter6.992695347711883
ns/iter0.90
Regex_Period_Md_Dollar
67.3311467068579
ns/iter72.75182007613687
ns/iter0.93
Regex_Caret_Slash_Period_Asterisk
4.959500037574135
ns/iter6.992363070129627
ns/iter0.71
Regex_Caret_Period_Range_Dollar
2.0530541250228946
ns/iter2.133512529836628
ns/iter0.96
Regex_Nested_Backtrack
725.3868097788683
ns/iter727.012901243631
ns/iter1.00
Pointer_Object_Traverse
14.74351217170278
ns/iter14.764054979109073
ns/iter1.00
Pointer_Object_Try_Traverse
31.22532167329404
ns/iter31.440202491005927
ns/iter0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer
179.24413054067514
ns/iter173.17992659166924
ns/iter1.04
This comment was automatically generated by workflow using github-action-benchmark.
1a6da6d
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.
Benchmark (windows/msvc)
JSON_Array_Of_Objects_Unique
425.66380534927515
ns/iter421.4853427908528
ns/iter1.01
JSON_Parse_1
80132.55658228703
ns/iter80318.90624999555
ns/iter1.00
JSON_Fast_Hash_Helm_Chart_Lock
55.91961999999739
ns/iter55.53470535714057
ns/iter1.01
JSON_Equality_Helm_Chart_Lock
215.80234375001336
ns/iter220.66437500001254
ns/iter0.98
Regex_Lower_S_Or_Upper_S_Asterisk
8.090458705357152
ns/iter8.444252640874119
ns/iter0.96
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar
8.245396838191114
ns/iter8.19787228483079
ns/iter1.01
Regex_Period_Asterisk
7.862862018470468
ns/iter7.775402643859273
ns/iter1.01
Regex_Group_Period_Asterisk_Group
8.009217821387933
ns/iter7.902271205357485
ns/iter1.01
Regex_Period_Plus
8.076167410714215
ns/iter7.948154428802565
ns/iter1.02
Regex_Period
7.760551304638835
ns/iter8.023016741072198
ns/iter0.97
Regex_Caret_Period_Plus_Dollar
8.141049070798179
ns/iter8.044575892857914
ns/iter1.01
Regex_Caret_Group_Period_Plus_Group_Dollar
8.089856213883994
ns/iter8.142361570793573
ns/iter0.99
Regex_Caret_Period_Asterisk_Dollar
7.782944196428332
ns/iter8.19105665986122
ns/iter0.95
Regex_Caret_Group_Period_Asterisk_Group_Dollar
7.961560267857643
ns/iter7.806166036580585
ns/iter1.02
Regex_Caret_X_Hyphen
11.807637499998691
ns/iter11.83149107142713
ns/iter1.00
Regex_Period_Md_Dollar
144.80509174976137
ns/iter141.68124999999677
ns/iter1.02
Regex_Caret_Slash_Period_Asterisk
11.673216071431268
ns/iter11.874508928571004
ns/iter0.98
Regex_Caret_Period_Range_Dollar
8.720276562499407
ns/iter8.771090585844108
ns/iter0.99
Regex_Nested_Backtrack
587.2159821428065
ns/iter588.5875892856924
ns/iter1.00
Pointer_Object_Traverse
55.90580357142423
ns/iter56.308107142858226
ns/iter0.99
Pointer_Object_Try_Traverse
75.83641071428409
ns/iter76.385669642866
ns/iter0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer
183.677453899804
ns/iter178.0819583536858
ns/iter1.03
This comment was automatically generated by workflow using github-action-benchmark.
1a6da6d
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.
Benchmark (linux/gcc)
Pointer_Object_Traverse
44.86455005869972
ns/iter44.442655358362416
ns/iter1.01
Pointer_Object_Try_Traverse
22.415210210587375
ns/iter23.494253306557223
ns/iter0.95
Pointer_Push_Back_Pointer_To_Weak_Pointer
213.11336375396135
ns/iter213.10647199887742
ns/iter1.00
Regex_Lower_S_Or_Upper_S_Asterisk
2.486108021456431
ns/iter2.4867689628241503
ns/iter1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar
2.511950608042351
ns/iter2.4866296913992514
ns/iter1.01
Regex_Period_Asterisk
2.485901145056639
ns/iter2.4900820195803837
ns/iter1.00
Regex_Group_Period_Asterisk_Group
2.4866709813680306
ns/iter2.500625816047421
ns/iter0.99
Regex_Period_Plus
2.7969910828773945
ns/iter2.7996740635189394
ns/iter1.00
Regex_Period
2.7962383806899296
ns/iter2.798593663171218
ns/iter1.00
Regex_Caret_Period_Plus_Dollar
2.79607152744862
ns/iter2.801115065661819
ns/iter1.00
Regex_Caret_Group_Period_Plus_Group_Dollar
2.7978156981145927
ns/iter2.799230646183924
ns/iter1.00
Regex_Caret_Period_Asterisk_Dollar
3.7275587745924756
ns/iter3.7366498414245948
ns/iter1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar
3.726986101631098
ns/iter3.72887042415774
ns/iter1.00
Regex_Caret_X_Hyphen
12.43077442394182
ns/iter12.430287154594764
ns/iter1.00
Regex_Period_Md_Dollar
87.85639064810994
ns/iter87.76658876557609
ns/iter1.00
Regex_Caret_Slash_Period_Asterisk
7.145894410263686
ns/iter7.1544644729608855
ns/iter1.00
Regex_Caret_Period_Range_Dollar
4.0394574433209085
ns/iter4.041553739499392
ns/iter1.00
Regex_Nested_Backtrack
824.3263590055949
ns/iter812.0105512761013
ns/iter1.02
JSON_Array_Of_Objects_Unique
379.86118606071835
ns/iter379.34210943864036
ns/iter1.00
JSON_Parse_1
32792.08818143424
ns/iter32831.962390520355
ns/iter1.00
JSON_Fast_Hash_Helm_Chart_Lock
57.52142642673832
ns/iter62.99960128501887
ns/iter0.91
JSON_Equality_Helm_Chart_Lock
144.7349230531583
ns/iter145.29841994331204
ns/iter1.00
This comment was automatically generated by workflow using github-action-benchmark.