-
-
Notifications
You must be signed in to change notification settings - Fork 9
Benchmark applying linter rules to a KrakenD example #2205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
1dc6cdf to
52fd6ce
Compare
🤖 Augment PR SummarySummary: Adds a new microbenchmark to measure applying the AlterSchema linter transformation bundle to a real-world KrakenD JSON Schema. Changes:
Technical Notes: The benchmark is intended to reflect end-to-end transformation cost on a representative schema while keeping I/O/parsing overhead out of the reported timing. 🤖 Was this summary useful? React with 👍 or 👎 |
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.
52fd6ce to
9434c7c
Compare
|
augment review |
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/alterschema.cc
Outdated
| for (auto _ : state) { | ||
| state.PauseTiming(); | ||
| auto schema{ | ||
| sourcemeta::core::read_json(std::filesystem::path{CURRENT_DIRECTORY} / |
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.
read_json(...) is executed every iteration (even though timing is paused), which can still make the benchmark’s wall-clock runtime very large (and potentially problematic for CI) if the schema is big. Consider whether you want a cheaper per-iteration reset mechanism so the benchmark cost is dominated by bundle.apply rather than repeated parse/I/O work.
🤖 Was this useful? React with 👍 or 👎
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
9434c7c to
3b1db5f
Compare
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)
Details
| Benchmark suite | Current: 3b1db5f | Previous: 421f999 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
3.1737366750996343 ns/iter |
2.985904111354964 ns/iter |
1.06 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.1749291101488692 ns/iter |
2.976724811407658 ns/iter |
1.07 |
Regex_Period_Asterisk |
3.1082010427097515 ns/iter |
2.978204434723513 ns/iter |
1.04 |
Regex_Group_Period_Asterisk_Group |
3.1131685068558723 ns/iter |
2.996049591841297 ns/iter |
1.04 |
Regex_Period_Plus |
3.1020447292712126 ns/iter |
3.059410028327669 ns/iter |
1.01 |
Regex_Period |
3.219798430034009 ns/iter |
2.92859552912044 ns/iter |
1.10 |
Regex_Caret_Period_Plus_Dollar |
3.141829927714256 ns/iter |
3.1194964557872416 ns/iter |
1.01 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.120177184081216 ns/iter |
3.078546520872038 ns/iter |
1.01 |
Regex_Caret_Period_Asterisk_Dollar |
3.1097486495869773 ns/iter |
3.43073063420892 ns/iter |
0.91 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.1237167334265434 ns/iter |
3.429827452064143 ns/iter |
0.91 |
Regex_Caret_X_Hyphen |
12.440584149501705 ns/iter |
12.444493885318893 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
27.659589285866755 ns/iter |
27.44274015836109 ns/iter |
1.01 |
Regex_Caret_Slash_Period_Asterisk |
7.149686789521206 ns/iter |
7.201023335479265 ns/iter |
0.99 |
Regex_Caret_Period_Range_Dollar |
4.044169676086428 ns/iter |
3.7480549968116867 ns/iter |
1.08 |
Regex_Nested_Backtrack |
49.183383446473876 ns/iter |
50.81107949999932 ns/iter |
0.97 |
JSON_Array_Of_Objects_Unique |
467.6242164136418 ns/iter |
440.6115628734062 ns/iter |
1.06 |
JSON_Parse_1 |
29212.81259175424 ns/iter |
29485.869399710176 ns/iter |
0.99 |
JSON_Parse_Real |
37742.27657968545 ns/iter |
38208.71616079118 ns/iter |
0.99 |
JSON_Parse_Decimal |
129351.456847163 ns/iter |
132315.12344281585 ns/iter |
0.98 |
JSON_Parse_Schema_ISO_Language |
22325137.580647577 ns/iter |
22450823.322581146 ns/iter |
0.99 |
JSON_Fast_Hash_Helm_Chart_Lock |
62.54091176351493 ns/iter |
62.81440896752716 ns/iter |
1.00 |
JSON_Equality_Helm_Chart_Lock |
170.15533959518757 ns/iter |
162.643642994635 ns/iter |
1.05 |
JSON_String_Equal/10 |
7.773788490960653 ns/iter |
7.8519120985421065 ns/iter |
0.99 |
JSON_String_Equal/100 |
7.489683443516765 ns/iter |
7.4990569401945635 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9343912754967809 ns/iter |
0.9354160780855424 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.79063829573309 ns/iter |
14.611812522145255 ns/iter |
1.01 |
JSON_String_Fast_Hash/10 |
2.4871885563813723 ns/iter |
2.4929341525732758 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
2.4867137082462762 ns/iter |
2.4940516319372543 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
2.709061163346016 ns/iter |
2.6343446680844544 ns/iter |
1.03 |
JSON_String_Key_Hash/100 |
9.014844980784074 ns/iter |
9.013861084297666 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.7363319474381247 ns/iter |
3.733739866101191 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.735123171823242 ns/iter |
3.734697149117295 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.735517548540185 ns/iter |
3.7347613084777507 ns/iter |
1.00 |
Pointer_Object_Traverse |
44.4707620528911 ns/iter |
43.83315263847902 ns/iter |
1.01 |
Pointer_Object_Try_Traverse |
53.387737394737215 ns/iter |
55.76219178640388 ns/iter |
0.96 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
320.21774006950176 ns/iter |
320.76664965892127 ns/iter |
1.00 |
Pointer_Walker_Schema_ISO_Language |
3136310.9147980646 ns/iter |
3143714.7567562778 ns/iter |
1.00 |
Schema_Frame_WoT_References |
6366682.834782692 ns/iter |
6148648.5263155075 ns/iter |
1.04 |
Schema_Frame_OMC_References |
30756491.86956506 ns/iter |
28616722.999998957 ns/iter |
1.07 |
Schema_Frame_OMC_Locations |
28197360.249999788 ns/iter |
26902873.499999747 ns/iter |
1.05 |
Schema_Frame_ISO_Language_Locations |
130052929.79999013 ns/iter |
130247891.99998851 ns/iter |
1.00 |
Schema_Iterator_ISO_Language |
2375751.7905403655 ns/iter |
2336624.508305542 ns/iter |
1.02 |
Schema_Frame_ISO_Language_Locations_To_JSON |
138506751.99998364 ns/iter |
138197595.9999977 ns/iter |
1.00 |
Schema_Tracker_ISO_Language |
47696207.42857634 ns/iter |
45536854.26666713 ns/iter |
1.05 |
Schema_Tracker_ISO_Language_To_JSON |
25015528.2222219 ns/iter |
23320140.433330987 ns/iter |
1.07 |
Schema_Format_ISO_Language_To_JSON |
140994703.79999274 ns/iter |
137589957.79994622 ns/iter |
1.02 |
Schema_Bundle_Meta_2020_12 |
2179514.2803741633 ns/iter |
2230700.850794973 ns/iter |
0.98 |
Schema_Frame_Many_Resources_References |
277382108.4999781 ns/iter |
267335857.9999672 ns/iter |
1.04 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
251144961.00002268 ns/iter |
241021217.33331692 ns/iter |
1.04 |
Alterschema_Check_Readibility_OMC |
34639613.649994776 ns/iter |
33097891.238098565 ns/iter |
1.05 |
Alterschema_Apply_Readibility_KrakenD |
20782687750.999912 ns/iter |
||
EditorSchema_ForEditor_EmbeddedResources |
14707127.255330808 ns/iter |
14563090.499999968 ns/iter |
1.01 |
URITemplateRouter_Create |
16182.555771118872 ns/iter |
17137.919532976983 ns/iter |
0.94 |
URITemplateRouter_Match |
174.26213753055757 ns/iter |
171.42942498926044 ns/iter |
1.02 |
URITemplateRouterView_Restore |
8401.316270649875 ns/iter |
8254.158050428125 ns/iter |
1.02 |
URITemplateRouterView_Match |
118.17417589121752 ns/iter |
124.00848882382584 ns/iter |
0.95 |
This comment was automatically generated by workflow using github-action-benchmark.
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)
Details
| Benchmark suite | Current: 3b1db5f | Previous: 421f999 | Ratio |
|---|---|---|---|
URITemplateRouter_Create |
14940.271035563403 ns/iter |
11149.913228241106 ns/iter |
1.34 |
URITemplateRouter_Match |
155.27830847093733 ns/iter |
148.69741713098966 ns/iter |
1.04 |
URITemplateRouterView_Restore |
8455.907050224667 ns/iter |
3530.7605137942815 ns/iter |
2.39 |
URITemplateRouterView_Match |
143.77605018014492 ns/iter |
114.43220962922355 ns/iter |
1.26 |
EditorSchema_ForEditor_EmbeddedResources |
15939230.045422517 ns/iter |
13321148.962267268 ns/iter |
1.20 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
248416388.66670716 ns/iter |
200104545.33333662 ns/iter |
1.24 |
Alterschema_Check_Readibility_OMC |
37041769.00000197 ns/iter |
29836029.43477901 ns/iter |
1.24 |
Alterschema_Apply_Readibility_KrakenD |
22319075674.000034 ns/iter |
||
Schema_Frame_WoT_References |
6667380.2285723 ns/iter |
5685533.097561332 ns/iter |
1.17 |
Schema_Frame_OMC_References |
31587710.454552755 ns/iter |
25276975.821425043 ns/iter |
1.25 |
Schema_Frame_OMC_Locations |
29900607.00000433 ns/iter |
23977742.066661753 ns/iter |
1.25 |
Schema_Frame_ISO_Language_Locations |
139736864.59999043 ns/iter |
118156672.00001675 ns/iter |
1.18 |
Schema_Iterator_ISO_Language |
2787569.480000457 ns/iter |
2566898.7875458417 ns/iter |
1.09 |
Schema_Frame_ISO_Language_Locations_To_JSON |
317658446.9999852 ns/iter |
257478186.33332524 ns/iter |
1.23 |
Schema_Tracker_ISO_Language |
51292824.85714676 ns/iter |
45035555.799995564 ns/iter |
1.14 |
Schema_Tracker_ISO_Language_To_JSON |
37844087.42104748 ns/iter |
33616185.285717666 ns/iter |
1.13 |
Schema_Format_ISO_Language_To_JSON |
148244457.99999923 ns/iter |
124965683.33335745 ns/iter |
1.19 |
Schema_Bundle_Meta_2020_12 |
2443310.8028100715 ns/iter |
2270335.788956764 ns/iter |
1.08 |
Schema_Frame_Many_Resources_References |
297828505.4999787 ns/iter |
239845328.33333108 ns/iter |
1.24 |
Pointer_Object_Traverse |
46.4469419920591 ns/iter |
44.27695769940312 ns/iter |
1.05 |
Pointer_Object_Try_Traverse |
28.1936696832969 ns/iter |
25.169475284466454 ns/iter |
1.12 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
171.87481711872073 ns/iter |
164.17128141172924 ns/iter |
1.05 |
Pointer_Walker_Schema_ISO_Language |
3619435.078534056 ns/iter |
3360870.6730774427 ns/iter |
1.08 |
JSON_Array_Of_Objects_Unique |
425.51517885248575 ns/iter |
314.4539499828586 ns/iter |
1.35 |
JSON_Parse_1 |
33674.35514608952 ns/iter |
30980.487993636252 ns/iter |
1.09 |
JSON_Parse_Real |
44053.70025236867 ns/iter |
42046.86591004092 ns/iter |
1.05 |
JSON_Parse_Decimal |
159226.60181409965 ns/iter |
151981.9343654656 ns/iter |
1.05 |
JSON_Parse_Schema_ISO_Language |
22703707.064516902 ns/iter |
21832102.749996807 ns/iter |
1.04 |
JSON_Fast_Hash_Helm_Chart_Lock |
59.498337648343224 ns/iter |
46.40618670618395 ns/iter |
1.28 |
JSON_Equality_Helm_Chart_Lock |
149.2812604009853 ns/iter |
141.6722744328062 ns/iter |
1.05 |
JSON_String_Equal/10 |
6.265156362185581 ns/iter |
5.581182987903864 ns/iter |
1.12 |
JSON_String_Equal/100 |
6.887991115950812 ns/iter |
6.747593539843419 ns/iter |
1.02 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9351623145849677 ns/iter |
0.824920979611851 ns/iter |
1.13 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.914681643527224 ns/iter |
9.506376618273476 ns/iter |
1.57 |
JSON_String_Fast_Hash/10 |
2.254768806853482 ns/iter |
2.124138191916713 ns/iter |
1.06 |
JSON_String_Fast_Hash/100 |
2.257020082462229 ns/iter |
2.139851178735883 ns/iter |
1.05 |
JSON_String_Key_Hash/10 |
1.245825327708478 ns/iter |
1.25849748072314 ns/iter |
0.99 |
JSON_String_Key_Hash/100 |
12.425672552922281 ns/iter |
11.829799169780289 ns/iter |
1.05 |
JSON_Object_Defines_Miss_Same_Length |
2.8116142540215225 ns/iter |
3.2579531194321194 ns/iter |
0.86 |
JSON_Object_Defines_Miss_Too_Small |
2.797718674535911 ns/iter |
3.183475139501656 ns/iter |
0.88 |
JSON_Object_Defines_Miss_Too_Large |
2.7977284201818424 ns/iter |
2.910711411797838 ns/iter |
0.96 |
Regex_Lower_S_Or_Upper_S_Asterisk |
3.111754995427057 ns/iter |
2.703016971849911 ns/iter |
1.15 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.110069537309511 ns/iter |
2.662397001470223 ns/iter |
1.17 |
Regex_Period_Asterisk |
3.109324292462224 ns/iter |
2.652299101059425 ns/iter |
1.17 |
Regex_Group_Period_Asterisk_Group |
3.111250243686743 ns/iter |
2.671788062335043 ns/iter |
1.16 |
Regex_Period_Plus |
3.1177303223293564 ns/iter |
2.7296361591601332 ns/iter |
1.14 |
Regex_Period |
3.1128906989262743 ns/iter |
2.669654275557585 ns/iter |
1.17 |
Regex_Caret_Period_Plus_Dollar |
3.1161376386810864 ns/iter |
2.7388862794939333 ns/iter |
1.14 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.111276694545183 ns/iter |
2.7391695008043193 ns/iter |
1.14 |
Regex_Caret_Period_Asterisk_Dollar |
3.4904490035515 ns/iter |
2.671718430794195 ns/iter |
1.31 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.1173041718230805 ns/iter |
2.6408510539514385 ns/iter |
1.18 |
Regex_Caret_X_Hyphen |
13.074275607441047 ns/iter |
8.900981351036599 ns/iter |
1.47 |
Regex_Period_Md_Dollar |
36.55336572253687 ns/iter |
30.792707809661312 ns/iter |
1.19 |
Regex_Caret_Slash_Period_Asterisk |
8.085968901703012 ns/iter |
8.508514572982435 ns/iter |
0.95 |
Regex_Caret_Period_Range_Dollar |
4.665610393786967 ns/iter |
2.600542811230408 ns/iter |
1.79 |
Regex_Nested_Backtrack |
59.05578486835695 ns/iter |
51.03831898389597 ns/iter |
1.16 |
This comment was automatically generated by workflow using github-action-benchmark.
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)
Details
| Benchmark suite | Current: 3b1db5f | Previous: 421f999 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
3.084594861940655 ns/iter |
3.0493741071429623 ns/iter |
1.01 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.8753830790740036 ns/iter |
2.807139775532677 ns/iter |
1.02 |
Regex_Period_Asterisk |
3.257084374999814 ns/iter |
2.939345375527795 ns/iter |
1.11 |
Regex_Group_Period_Asterisk_Group |
3.0571462235840925 ns/iter |
2.964741335315074 ns/iter |
1.03 |
Regex_Period_Plus |
3.523934213243914 ns/iter |
2.9310566255387047 ns/iter |
1.20 |
Regex_Period |
3.5211767802114737 ns/iter |
2.926603076437826 ns/iter |
1.20 |
Regex_Caret_Period_Plus_Dollar |
3.2355933035717044 ns/iter |
2.682130220819672 ns/iter |
1.21 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.93882669249259 ns/iter |
2.6417597744270016 ns/iter |
1.11 |
Regex_Caret_Period_Asterisk_Dollar |
2.9914236120646103 ns/iter |
2.9822768933273403 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.8576924515301383 ns/iter |
2.8546641951540512 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
5.86955803571446 ns/iter |
6.130280357142834 ns/iter |
0.96 |
Regex_Period_Md_Dollar |
30.40258928571404 ns/iter |
30.751339285711563 ns/iter |
0.99 |
Regex_Caret_Slash_Period_Asterisk |
5.866963999999371 ns/iter |
5.847561607142536 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
3.4001760990623824 ns/iter |
3.230004848796928 ns/iter |
1.05 |
Regex_Nested_Backtrack |
92.84051339284767 ns/iter |
90.77597809036651 ns/iter |
1.02 |
JSON_Array_Of_Objects_Unique |
416.5649590819337 ns/iter |
390.1520089285729 ns/iter |
1.07 |
JSON_Parse_1 |
76145.61383927513 ns/iter |
73820.19642856262 ns/iter |
1.03 |
JSON_Parse_Real |
100787.02290075844 ns/iter |
98336.66800589887 ns/iter |
1.02 |
JSON_Parse_Decimal |
329455.89390967647 ns/iter |
323257.9934364999 ns/iter |
1.02 |
JSON_Parse_Schema_ISO_Language |
61139700.00001245 ns/iter |
59254136.36364076 ns/iter |
1.03 |
JSON_Fast_Hash_Helm_Chart_Lock |
50.20540178571358 ns/iter |
42.00075334821791 ns/iter |
1.20 |
JSON_Equality_Helm_Chart_Lock |
238.57249999999956 ns/iter |
244.6860357142912 ns/iter |
0.98 |
JSON_String_Equal/10 |
10.565444149261271 ns/iter |
10.32061870392547 ns/iter |
1.02 |
JSON_String_Equal/100 |
13.684297037123194 ns/iter |
13.572600609051499 ns/iter |
1.01 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.7563933270689092 ns/iter |
1.745499889561706 ns/iter |
1.01 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
9.3757298688594 ns/iter |
9.616131653499497 ns/iter |
0.98 |
JSON_String_Fast_Hash/10 |
2.6329885714281835 ns/iter |
2.0560959575267934 ns/iter |
1.28 |
JSON_String_Fast_Hash/100 |
2.6419677208551215 ns/iter |
2.110650979786998 ns/iter |
1.25 |
JSON_String_Key_Hash/10 |
2.669815845830524 ns/iter |
2.8645883022925447 ns/iter |
0.93 |
JSON_String_Key_Hash/100 |
13.9751838661825 ns/iter |
14.487180357142345 ns/iter |
0.96 |
JSON_Object_Defines_Miss_Same_Length |
4.976610000001074 ns/iter |
5.216025999999374 ns/iter |
0.95 |
JSON_Object_Defines_Miss_Too_Small |
4.340998524847309 ns/iter |
4.2637968750000255 ns/iter |
1.02 |
JSON_Object_Defines_Miss_Too_Large |
5.020187500000312 ns/iter |
4.952143750000256 ns/iter |
1.01 |
Pointer_Object_Traverse |
49.04869642857079 ns/iter |
45.60285561961211 ns/iter |
1.08 |
Pointer_Object_Try_Traverse |
66.85010044643138 ns/iter |
62.5301428571439 ns/iter |
1.07 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
180.2908482142738 ns/iter |
173.47914048919887 ns/iter |
1.04 |
Pointer_Walker_Schema_ISO_Language |
12888291.071427764 ns/iter |
10463696.428571114 ns/iter |
1.23 |
Schema_Frame_WoT_References |
12195162.500002965 ns/iter |
11220446.87500079 ns/iter |
1.09 |
Schema_Frame_OMC_References |
61076581.81818724 ns/iter |
57247372.72727122 ns/iter |
1.07 |
Schema_Frame_OMC_Locations |
55492630.000003375 ns/iter |
54210979.999993466 ns/iter |
1.02 |
Schema_Frame_ISO_Language_Locations |
263533099.99997994 ns/iter |
251556233.33334157 ns/iter |
1.05 |
Schema_Iterator_ISO_Language |
4971327.678571162 ns/iter |
4614580.519480363 ns/iter |
1.08 |
Schema_Frame_ISO_Language_Locations_To_JSON |
275526800.0000797 ns/iter |
265820100.00000384 ns/iter |
1.04 |
Schema_Tracker_ISO_Language |
107543000.00000209 ns/iter |
104338857.1428555 ns/iter |
1.03 |
Schema_Tracker_ISO_Language_To_JSON |
58480309.09090663 ns/iter |
53417930.00000052 ns/iter |
1.09 |
Schema_Format_ISO_Language_To_JSON |
270950599.99999195 ns/iter |
250633966.66663113 ns/iter |
1.08 |
Schema_Bundle_Meta_2020_12 |
4126503.0120495837 ns/iter |
4132129.608934245 ns/iter |
1.00 |
Schema_Frame_Many_Resources_References |
529886400.0001231 ns/iter |
503935100.00003517 ns/iter |
1.05 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
389296749.99997133 ns/iter |
372669649.9999775 ns/iter |
1.04 |
Alterschema_Check_Readibility_OMC |
68697566.66666642 ns/iter |
64788972.72728029 ns/iter |
1.06 |
Alterschema_Apply_Readibility_KrakenD |
41750524699.999916 ns/iter |
||
EditorSchema_ForEditor_EmbeddedResources |
27161619.51218232 ns/iter |
26180326.666675076 ns/iter |
1.04 |
URITemplateRouter_Create |
21479.211885559955 ns/iter |
21109.626871668777 ns/iter |
1.02 |
URITemplateRouter_Match |
233.09785714283342 ns/iter |
223.16450000001709 ns/iter |
1.04 |
URITemplateRouterView_Restore |
27215.274999995083 ns/iter |
25234.739877809036 ns/iter |
1.08 |
URITemplateRouterView_Match |
150.98041736696035 ns/iter |
157.95566459525836 ns/iter |
0.96 |
This comment was automatically generated by workflow using github-action-benchmark.
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)
Details
| Benchmark suite | Current: 3b1db5f | Previous: 421f999 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.45194643484763 ns/iter |
2.0980685485177175 ns/iter |
1.17 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.302843944844016 ns/iter |
1.8909890926930972 ns/iter |
1.22 |
Regex_Period_Asterisk |
2.2014240173392796 ns/iter |
1.9454174713494086 ns/iter |
1.13 |
Regex_Group_Period_Asterisk_Group |
2.2631148941327406 ns/iter |
1.9015356228403573 ns/iter |
1.19 |
Regex_Period_Plus |
2.5869121552433993 ns/iter |
2.498348921534349 ns/iter |
1.04 |
Regex_Period |
2.761760564285663 ns/iter |
2.616721780919506 ns/iter |
1.06 |
Regex_Caret_Period_Plus_Dollar |
2.552901138790922 ns/iter |
2.74792230672283 ns/iter |
0.93 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.5660471822405855 ns/iter |
2.557775541265525 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
2.28243505254377 ns/iter |
2.0839249410602076 ns/iter |
1.10 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.1688410420842654 ns/iter |
2.1203426719619785 ns/iter |
1.02 |
Regex_Caret_X_Hyphen |
7.490321398856424 ns/iter |
7.541843717344996 ns/iter |
0.99 |
Regex_Period_Md_Dollar |
30.23896722789736 ns/iter |
29.320869074419196 ns/iter |
1.03 |
Regex_Caret_Slash_Period_Asterisk |
6.789463922313933 ns/iter |
7.408654641916357 ns/iter |
0.92 |
Regex_Caret_Period_Range_Dollar |
2.011879007713927 ns/iter |
2.0875396681748417 ns/iter |
0.96 |
Regex_Nested_Backtrack |
33.24581499154739 ns/iter |
34.973927831842104 ns/iter |
0.95 |
JSON_Array_Of_Objects_Unique |
387.3263873505907 ns/iter |
361.38792769102747 ns/iter |
1.07 |
JSON_Parse_1 |
22539.750850285876 ns/iter |
22098.230201624465 ns/iter |
1.02 |
JSON_Parse_Real |
32811.24782018708 ns/iter |
35288.49349790087 ns/iter |
0.93 |
JSON_Parse_Decimal |
345592.336381144 ns/iter |
387979.92755414604 ns/iter |
0.89 |
JSON_Parse_Schema_ISO_Language |
20454524.49999964 ns/iter |
23158994.07143109 ns/iter |
0.88 |
JSON_Fast_Hash_Helm_Chart_Lock |
72.01365762775855 ns/iter |
70.19763143566813 ns/iter |
1.03 |
JSON_Equality_Helm_Chart_Lock |
189.8192681684408 ns/iter |
169.45549458760337 ns/iter |
1.12 |
JSON_String_Equal/10 |
8.637474465552838 ns/iter |
8.567285683743682 ns/iter |
1.01 |
JSON_String_Equal/100 |
8.869646097168713 ns/iter |
7.1327522285888065 ns/iter |
1.24 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.3858259850848212 ns/iter |
0.39021437117857927 ns/iter |
0.99 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
4.033881461020096 ns/iter |
5.28605164482926 ns/iter |
0.76 |
JSON_String_Fast_Hash/10 |
3.089790078301643 ns/iter |
2.733675235659131 ns/iter |
1.13 |
JSON_String_Fast_Hash/100 |
2.249004654526314 ns/iter |
2.5379093423512726 ns/iter |
0.89 |
JSON_String_Key_Hash/10 |
1.9568372813883184 ns/iter |
1.723963656471523 ns/iter |
1.14 |
JSON_String_Key_Hash/100 |
3.819989199554352 ns/iter |
2.8666167679619377 ns/iter |
1.33 |
JSON_Object_Defines_Miss_Same_Length |
3.324050955949383 ns/iter |
3.45830817770974 ns/iter |
0.96 |
JSON_Object_Defines_Miss_Too_Small |
3.374433480245663 ns/iter |
3.234033911268603 ns/iter |
1.04 |
JSON_Object_Defines_Miss_Too_Large |
3.459757514209833 ns/iter |
3.794714566172621 ns/iter |
0.91 |
Pointer_Object_Traverse |
17.803581295727046 ns/iter |
21.99456176035521 ns/iter |
0.81 |
Pointer_Object_Try_Traverse |
24.703977773774643 ns/iter |
33.322278336953765 ns/iter |
0.74 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
194.9994431292725 ns/iter |
217.6993686781271 ns/iter |
0.90 |
Pointer_Walker_Schema_ISO_Language |
5657198.330000029 ns/iter |
8169762.461537362 ns/iter |
0.69 |
Schema_Frame_WoT_References |
6636765.236559464 ns/iter |
9496732.773335073 ns/iter |
0.70 |
Schema_Frame_OMC_References |
34238432.83333857 ns/iter |
45807786.76471281 ns/iter |
0.75 |
Schema_Frame_OMC_Locations |
37147423.263161875 ns/iter |
36177791.66667232 ns/iter |
1.03 |
Schema_Frame_ISO_Language_Locations |
123525034.83331627 ns/iter |
128152825.00000648 ns/iter |
0.96 |
Schema_Iterator_ISO_Language |
2329712.0775512257 ns/iter |
2959912.644787244 ns/iter |
0.79 |
Schema_Frame_ISO_Language_Locations_To_JSON |
124088916.79997396 ns/iter |
112505374.99999307 ns/iter |
1.10 |
Schema_Tracker_ISO_Language |
50291601.21429348 ns/iter |
52790370.89999293 ns/iter |
0.95 |
Schema_Tracker_ISO_Language_To_JSON |
18752341.1562438 ns/iter |
18030144.317075297 ns/iter |
1.04 |
Schema_Format_ISO_Language_To_JSON |
139369350.0000154 ns/iter |
129631541.60006526 ns/iter |
1.08 |
Schema_Bundle_Meta_2020_12 |
2346570.374254021 ns/iter |
2042127.6954192272 ns/iter |
1.15 |
Schema_Frame_Many_Resources_References |
320083208.0000282 ns/iter |
271407041.6667103 ns/iter |
1.18 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
233857222.333351 ns/iter |
228725444.3333495 ns/iter |
1.02 |
Alterschema_Check_Readibility_OMC |
42787387.76922463 ns/iter |
42657208.31249098 ns/iter |
1.00 |
Alterschema_Apply_Readibility_KrakenD |
26366437791.999943 ns/iter |
||
EditorSchema_ForEditor_EmbeddedResources |
16399954.723389803 ns/iter |
13056447.48000759 ns/iter |
1.26 |
URITemplateRouter_Create |
22892.620273796863 ns/iter |
17446.05815366305 ns/iter |
1.31 |
URITemplateRouter_Match |
206.1241469519097 ns/iter |
187.0982359107445 ns/iter |
1.10 |
URITemplateRouterView_Restore |
13681.256831192166 ns/iter |
9902.950042226454 ns/iter |
1.38 |
URITemplateRouterView_Match |
137.63166031206273 ns/iter |
114.68986017142933 ns/iter |
1.20 |
This comment was automatically generated by workflow using github-action-benchmark.
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/gcc)
Details
| Benchmark suite | Current: 3b1db5f | Previous: 421f999 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.7153266746331854 ns/iter |
2.538362235765262 ns/iter |
1.07 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.711809006708447 ns/iter |
2.3946393064418747 ns/iter |
1.13 |
Regex_Period_Asterisk |
2.873458942188135 ns/iter |
2.6373503701602763 ns/iter |
1.09 |
Regex_Group_Period_Asterisk_Group |
2.6349030559769906 ns/iter |
2.2355415855381873 ns/iter |
1.18 |
Regex_Period_Plus |
2.6437639442849337 ns/iter |
2.638563477600102 ns/iter |
1.00 |
Regex_Period |
2.5639259114341963 ns/iter |
2.334657118975744 ns/iter |
1.10 |
Regex_Caret_Period_Plus_Dollar |
2.608765340656587 ns/iter |
2.340092872355974 ns/iter |
1.11 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.610838321214059 ns/iter |
2.3260780120922133 ns/iter |
1.12 |
Regex_Caret_Period_Asterisk_Dollar |
2.322602981930711 ns/iter |
2.2488886886498167 ns/iter |
1.03 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.352277217758007 ns/iter |
2.34145592817321 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
6.93624297861624 ns/iter |
6.954024997335592 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
22.998157154579754 ns/iter |
23.261094848264516 ns/iter |
0.99 |
Regex_Caret_Slash_Period_Asterisk |
5.196482971185886 ns/iter |
5.127719672787364 ns/iter |
1.01 |
Regex_Caret_Period_Range_Dollar |
2.491771395217344 ns/iter |
2.338978989968072 ns/iter |
1.07 |
Regex_Nested_Backtrack |
51.548592516283534 ns/iter |
47.69833702241328 ns/iter |
1.08 |
JSON_Array_Of_Objects_Unique |
305.4828999966023 ns/iter |
309.6954863481747 ns/iter |
0.99 |
JSON_Parse_1 |
27122.766646509877 ns/iter |
27733.28243880694 ns/iter |
0.98 |
JSON_Parse_Real |
27159.007312758367 ns/iter |
26856.506406400935 ns/iter |
1.01 |
JSON_Parse_Decimal |
299218.62814161513 ns/iter |
269207.2711115809 ns/iter |
1.11 |
JSON_Parse_Schema_ISO_Language |
19829001.69160631 ns/iter |
20245972.801657286 ns/iter |
0.98 |
JSON_Fast_Hash_Helm_Chart_Lock |
36.59585541312455 ns/iter |
35.875933928451026 ns/iter |
1.02 |
JSON_Equality_Helm_Chart_Lock |
133.69372688223436 ns/iter |
132.2263530967478 ns/iter |
1.01 |
JSON_String_Equal/10 |
6.570234243738908 ns/iter |
6.009171209220074 ns/iter |
1.09 |
JSON_String_Equal/100 |
8.597111214471223 ns/iter |
5.680361160300968 ns/iter |
1.51 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9308372957984501 ns/iter |
0.8175030413037673 ns/iter |
1.14 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.8328195407581767 ns/iter |
3.776201617885875 ns/iter |
1.01 |
JSON_String_Fast_Hash/10 |
2.029045550447595 ns/iter |
2.152367828602675 ns/iter |
0.94 |
JSON_String_Fast_Hash/100 |
2.085735873613058 ns/iter |
2.1764255863029067 ns/iter |
0.96 |
JSON_String_Key_Hash/10 |
1.6592826909211784 ns/iter |
1.6123980532016906 ns/iter |
1.03 |
JSON_String_Key_Hash/100 |
2.799875560473233 ns/iter |
2.8541286832070902 ns/iter |
0.98 |
JSON_Object_Defines_Miss_Same_Length |
1.9341202516918665 ns/iter |
1.9840349451820272 ns/iter |
0.97 |
JSON_Object_Defines_Miss_Too_Small |
2.029771198150755 ns/iter |
1.959337613670754 ns/iter |
1.04 |
JSON_Object_Defines_Miss_Too_Large |
2.167843234224123 ns/iter |
1.933320995054789 ns/iter |
1.12 |
Pointer_Object_Traverse |
68.1767048271373 ns/iter |
54.49620030379024 ns/iter |
1.25 |
Pointer_Object_Try_Traverse |
41.31185505076473 ns/iter |
40.94331347776082 ns/iter |
1.01 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
181.88193483004645 ns/iter |
165.20322169548302 ns/iter |
1.10 |
Pointer_Walker_Schema_ISO_Language |
5511582.98145641 ns/iter |
4237843.884362115 ns/iter |
1.30 |
Schema_Frame_WoT_References |
6245057.537870587 ns/iter |
5382371.671272047 ns/iter |
1.16 |
Schema_Frame_OMC_References |
37467320.76009115 ns/iter |
36011377.9703776 ns/iter |
1.04 |
Schema_Frame_OMC_Locations |
32193853.7416004 ns/iter |
38267737.940738074 ns/iter |
0.84 |
Schema_Frame_ISO_Language_Locations |
120224157.9691569 ns/iter |
135039806.3659668 ns/iter |
0.89 |
Schema_Iterator_ISO_Language |
2010840.891463511 ns/iter |
2404935.8983193673 ns/iter |
0.84 |
Schema_Frame_ISO_Language_Locations_To_JSON |
161233961.58218384 ns/iter |
206788380.94075522 ns/iter |
0.78 |
Schema_Tracker_ISO_Language |
40303272.359511435 ns/iter |
54850084.441048756 ns/iter |
0.73 |
Schema_Tracker_ISO_Language_To_JSON |
41981193.75440809 ns/iter |
32003684.4773726 ns/iter |
1.31 |
Schema_Format_ISO_Language_To_JSON |
222515821.45690918 ns/iter |
152595579.62417603 ns/iter |
1.46 |
Schema_Bundle_Meta_2020_12 |
2746894.8282747185 ns/iter |
2118266.6034818445 ns/iter |
1.30 |
Schema_Frame_Many_Resources_References |
583209991.4550781 ns/iter |
633919000.6256104 ns/iter |
0.92 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
323679447.17407227 ns/iter |
237718164.92080688 ns/iter |
1.36 |
Alterschema_Check_Readibility_OMC |
65090239.04800415 ns/iter |
38215994.8348999 ns/iter |
1.70 |
Alterschema_Apply_Readibility_KrakenD |
25484850406.64673 ns/iter |
||
EditorSchema_ForEditor_EmbeddedResources |
11989814.894539969 ns/iter |
12670243.779818216 ns/iter |
0.95 |
URITemplateRouter_Create |
14612.0549176716 ns/iter |
14657.953810934467 ns/iter |
1.00 |
URITemplateRouter_Match |
177.14283545741276 ns/iter |
187.30550185196535 ns/iter |
0.95 |
URITemplateRouterView_Restore |
9581.156598245014 ns/iter |
10376.514858740718 ns/iter |
0.92 |
URITemplateRouterView_Match |
120.62726531419774 ns/iter |
111.30023612586493 ns/iter |
1.08 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com