Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: Updates the vendored libdeflate CMake integration to better handle AArch64 toolchains where the compiler is newer than the assembler.
🤖 Was this summary useful? React with 👍 or 👎 |
| uint32x4_t a = vdupq_n_u32(0); | ||
| uint8x16_t b = vdupq_n_u8(0); | ||
| uint8x16_t c = vdupq_n_u8(0); | ||
| a = vdotq_u32(a, b, c); |
There was a problem hiding this comment.
check_c_source_compiles() here uses all-zero vector inputs, which some optimization settings could constant-fold so the generated assembly never contains a dotprod instruction. If that happens, this probe could incorrectly succeed even when the assembler can’t assemble dotprod, leading to later build failures when libdeflate’s real dotprod paths are compiled.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| uint8x16_t a = vdupq_n_u8(0); | ||
| uint8x16_t b = vdupq_n_u8(0); | ||
| uint8x16_t c = vdupq_n_u8(0); | ||
| a = veor3q_u8(a, b, c); |
There was a problem hiding this comment.
Similar to the dotprod probe, the veor3q_u8() test uses compile-time constant inputs and may be optimized into a constant result without emitting eor3/sha3 instructions. That can make LIBDEFLATE_HAS_SHA3_ASSEMBLER a false positive and re-introduce the SHA3 assembler failures this check is meant to guard against.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
Benchmark (macos/llvm)
Details
| Benchmark suite | Current: e695e0e | Previous: 76e2ef3 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.8319817238029583 ns/iter |
1.685717733349776 ns/iter |
1.09 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.7402584097753038 ns/iter |
1.7211655054014525 ns/iter |
1.01 |
Regex_Period_Asterisk |
1.6968042939809915 ns/iter |
1.689742900026754 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
1.771988575507204 ns/iter |
1.6806745092100506 ns/iter |
1.05 |
Regex_Period_Plus |
1.9859741804144566 ns/iter |
2.0608255950019294 ns/iter |
0.96 |
Regex_Period |
2.0558222316702963 ns/iter |
2.0315706504896993 ns/iter |
1.01 |
Regex_Caret_Period_Plus_Dollar |
1.986606060557749 ns/iter |
2.0546076699420235 ns/iter |
0.97 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.0021856245672582 ns/iter |
2.043765840892489 ns/iter |
0.98 |
Regex_Caret_Period_Asterisk_Dollar |
1.9093224895582481 ns/iter |
1.7041284193458117 ns/iter |
1.12 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.709425890565218 ns/iter |
1.7012979916315627 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
6.441328536482931 ns/iter |
6.4447762202530985 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
19.88665071590803 ns/iter |
21.678692972331344 ns/iter |
0.92 |
Regex_Caret_Slash_Period_Asterisk |
4.7149042035064905 ns/iter |
4.869867683957401 ns/iter |
0.97 |
Regex_Caret_Period_Range_Dollar |
1.8013161118855414 ns/iter |
1.9127415856950258 ns/iter |
0.94 |
Regex_Nested_Backtrack |
25.18945981185204 ns/iter |
25.849461424016685 ns/iter |
0.97 |
JSON_Array_Of_Objects_Unique |
348.51431938931 ns/iter |
347.7670979383807 ns/iter |
1.00 |
JSON_Parse_1 |
4005.6074873417942 ns/iter |
4055.7187840194265 ns/iter |
0.99 |
JSON_Parse_Real |
6399.656126807093 ns/iter |
6536.038919546425 ns/iter |
0.98 |
JSON_Parse_Decimal |
8156.025167339357 ns/iter |
8507.992044161543 ns/iter |
0.96 |
JSON_Parse_Schema_ISO_Language |
2984174.626016195 ns/iter |
2928683.121848842 ns/iter |
1.02 |
JSON_Fast_Hash_Helm_Chart_Lock |
58.348168713078934 ns/iter |
58.99134307173327 ns/iter |
0.99 |
JSON_Equality_Helm_Chart_Lock |
134.261190540564 ns/iter |
134.70395363018247 ns/iter |
1.00 |
JSON_Divisible_By_Decimal |
186.9697429339916 ns/iter |
175.6499915836748 ns/iter |
1.06 |
JSON_String_Equal/10 |
7.205381182501491 ns/iter |
6.833948992072258 ns/iter |
1.05 |
JSON_String_Equal/100 |
6.63308827475675 ns/iter |
6.601757827830789 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7615491272544676 ns/iter |
0.7686140110263928 ns/iter |
0.99 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.3871102960598916 ns/iter |
3.392508044500649 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
2.597543724488598 ns/iter |
2.4400048943475032 ns/iter |
1.06 |
JSON_String_Fast_Hash/100 |
2.0566388470992436 ns/iter |
2.0313447166132654 ns/iter |
1.01 |
JSON_String_Key_Hash/10 |
1.367865394659004 ns/iter |
1.3501666468140192 ns/iter |
1.01 |
JSON_String_Key_Hash/100 |
2.2011607358138794 ns/iter |
2.19877402947324 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
2.491243617146788 ns/iter |
2.4649787645505405 ns/iter |
1.01 |
JSON_Object_Defines_Miss_Too_Small |
2.378052921106328 ns/iter |
2.378147365054898 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
2.3865465171564337 ns/iter |
2.3849006000834536 ns/iter |
1.00 |
Pointer_Object_Traverse |
14.220757080618778 ns/iter |
14.094754237929218 ns/iter |
1.01 |
Pointer_Object_Try_Traverse |
19.809498230021852 ns/iter |
19.311315868563987 ns/iter |
1.03 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
156.9785575856941 ns/iter |
156.37154076430832 ns/iter |
1.00 |
Pointer_Walker_Schema_ISO_Language |
4409533.968152869 ns/iter |
4936418.789809392 ns/iter |
0.89 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1078940.4761904988 ns/iter |
1079175.7164403915 ns/iter |
1.00 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1381248.1541426133 ns/iter |
1384978.4999999884 ns/iter |
1.00 |
Pointer_Position_Tracker_Get_Deeply_Nested |
360.3475053468469 ns/iter |
365.1372616597162 ns/iter |
0.99 |
Schema_Frame_WoT_References |
5161054.170000625 ns/iter |
4842679.195804407 ns/iter |
1.07 |
Schema_Frame_OMC_References |
26294136.892857976 ns/iter |
23132315.299998634 ns/iter |
1.14 |
Schema_Frame_OMC_Locations |
22467724.99999755 ns/iter |
21605176.75757533 ns/iter |
1.04 |
Schema_Frame_ISO_Language_Locations |
74617851.88888825 ns/iter |
72196287.50000311 ns/iter |
1.03 |
Schema_Frame_KrakenD_References |
51171195.4615416 ns/iter |
42483622.58823925 ns/iter |
1.20 |
Schema_Frame_KrakenD_Reachable |
412487874.999897 ns/iter |
408789771.00004476 ns/iter |
1.01 |
Schema_Iterator_ISO_Language |
1824275.021447796 ns/iter |
1941124.6518106798 ns/iter |
0.94 |
Schema_Frame_ISO_Language_Locations_To_JSON |
79729925.00000373 ns/iter |
70583737.49999873 ns/iter |
1.13 |
Schema_Tracker_ISO_Language |
9418712.50000048 ns/iter |
8806922.256097527 ns/iter |
1.07 |
Schema_Tracker_ISO_Language_To_JSON |
13895651.660000112 ns/iter |
14854298.196077447 ns/iter |
0.94 |
Schema_Format_ISO_Language_To_JSON |
76194935.22222203 ns/iter |
75828351.88889526 ns/iter |
1.00 |
Schema_Bundle_Meta_2020_12 |
1310275.3482334295 ns/iter |
1354535.6635538333 ns/iter |
0.97 |
Schema_Frame_Many_Resources_References |
305486728.99999475 ns/iter |
285936604.0000282 ns/iter |
1.07 |
EditorSchema_ForEditor_EmbeddedResources |
11231807.311474528 ns/iter |
10988074.249992153 ns/iter |
1.02 |
URITemplateRouter_Create |
16271.109073539204 ns/iter |
16216.22337295152 ns/iter |
1.00 |
URITemplateRouter_Match |
164.26889904293992 ns/iter |
170.76457981623267 ns/iter |
0.96 |
URITemplateRouter_Match_BasePath |
202.07391966697762 ns/iter |
194.34883296484242 ns/iter |
1.04 |
URITemplateRouterView_Restore |
15286.806468138675 ns/iter |
14022.210995423353 ns/iter |
1.09 |
URITemplateRouterView_Match |
131.55077610091783 ns/iter |
130.97601333551617 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
149.69991578205975 ns/iter |
152.2243936430272 ns/iter |
0.98 |
URITemplateRouterView_Arguments |
415.6253523199052 ns/iter |
403.3233707215503 ns/iter |
1.03 |
JSONL_Parse_Large |
12532238.636363631 ns/iter |
12387238.981132042 ns/iter |
1.01 |
JSONL_Parse_Large_GZIP |
13272176.288460549 ns/iter |
13039122.727272198 ns/iter |
1.02 |
HTML_Build_Table_100000 |
66205740.66667157 ns/iter |
64656806.8181895 ns/iter |
1.02 |
HTML_Render_Table_100000 |
4038352.3653844125 ns/iter |
3615298.285046614 ns/iter |
1.12 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: e695e0e | Previous: 76e2ef3 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.0312679996953045 ns/iter |
3.519001294764287 ns/iter |
0.58 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.0238258402955642 ns/iter |
3.514724355868886 ns/iter |
0.58 |
Regex_Period_Asterisk |
2.022441428700491 ns/iter |
3.515207547244479 ns/iter |
0.58 |
Regex_Group_Period_Asterisk_Group |
2.0190385178548373 ns/iter |
3.5142625555118117 ns/iter |
0.57 |
Regex_Period_Plus |
2.3066779026394424 ns/iter |
3.514979622948277 ns/iter |
0.66 |
Regex_Period |
2.3137378655620977 ns/iter |
3.5184234826963414 ns/iter |
0.66 |
Regex_Caret_Period_Plus_Dollar |
2.3047839571186812 ns/iter |
3.51549877848458 ns/iter |
0.66 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.305681937533834 ns/iter |
3.5159364968498363 ns/iter |
0.66 |
Regex_Caret_Period_Asterisk_Dollar |
2.0187890987150325 ns/iter |
3.5190064116773137 ns/iter |
0.57 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.0184846232889426 ns/iter |
3.5158057876524818 ns/iter |
0.57 |
Regex_Caret_X_Hyphen |
8.936539275288476 ns/iter |
12.303309375051983 ns/iter |
0.73 |
Regex_Period_Md_Dollar |
25.247985676140537 ns/iter |
26.464423209238895 ns/iter |
0.95 |
Regex_Caret_Slash_Period_Asterisk |
8.643260838321154 ns/iter |
7.28397981791598 ns/iter |
1.19 |
Regex_Caret_Period_Range_Dollar |
2.585773084392993 ns/iter |
3.866851390876879 ns/iter |
0.67 |
Regex_Nested_Backtrack |
43.84432624019119 ns/iter |
47.06519529671265 ns/iter |
0.93 |
JSON_Array_Of_Objects_Unique |
345.8205214258269 ns/iter |
455.088841122472 ns/iter |
0.76 |
JSON_Parse_1 |
5142.774562105146 ns/iter |
5865.900841452211 ns/iter |
0.88 |
JSON_Parse_Real |
9871.404011745159 ns/iter |
10499.181741108201 ns/iter |
0.94 |
JSON_Parse_Decimal |
10098.69957701088 ns/iter |
11698.731026432106 ns/iter |
0.86 |
JSON_Parse_Schema_ISO_Language |
3712317.0366491186 ns/iter |
3815138.8695651977 ns/iter |
0.97 |
JSON_Fast_Hash_Helm_Chart_Lock |
49.83081631387461 ns/iter |
72.78006540882531 ns/iter |
0.68 |
JSON_Equality_Helm_Chart_Lock |
130.5185976995376 ns/iter |
160.84422177762087 ns/iter |
0.81 |
JSON_Divisible_By_Decimal |
254.55025760678163 ns/iter |
254.75145986604994 ns/iter |
1.00 |
JSON_String_Equal/10 |
4.335896538059136 ns/iter |
5.6279087245579165 ns/iter |
0.77 |
JSON_String_Equal/100 |
5.47582193379388 ns/iter |
6.337721715644913 ns/iter |
0.86 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.6920683016625393 ns/iter |
1.0546789656155078 ns/iter |
0.66 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
9.236424570164287 ns/iter |
12.36964285616127 ns/iter |
0.75 |
JSON_String_Fast_Hash/10 |
2.3067469744390676 ns/iter |
2.8140303330454377 ns/iter |
0.82 |
JSON_String_Fast_Hash/100 |
2.3056932878661303 ns/iter |
2.8138134770028778 ns/iter |
0.82 |
JSON_String_Key_Hash/10 |
1.7286055910904499 ns/iter |
2.465489324455312 ns/iter |
0.70 |
JSON_String_Key_Hash/100 |
6.624756587917486 ns/iter |
7.735894377999177 ns/iter |
0.86 |
JSON_Object_Defines_Miss_Same_Length |
3.4101844297288113 ns/iter |
4.221729391164416 ns/iter |
0.81 |
JSON_Object_Defines_Miss_Too_Small |
3.59673500358333 ns/iter |
4.221869024615864 ns/iter |
0.85 |
JSON_Object_Defines_Miss_Too_Large |
3.426827108466999 ns/iter |
4.219430291356109 ns/iter |
0.81 |
Pointer_Object_Traverse |
24.7668665778231 ns/iter |
27.233042023233057 ns/iter |
0.91 |
Pointer_Object_Try_Traverse |
28.570176987951996 ns/iter |
29.570506676552785 ns/iter |
0.97 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
180.67158497215576 ns/iter |
167.36962095176722 ns/iter |
1.08 |
Pointer_Walker_Schema_ISO_Language |
3190236.8230086635 ns/iter |
3292994.620853054 ns/iter |
0.97 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1190431.810902979 ns/iter |
1407136.2459999362 ns/iter |
0.85 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
2104851.398791523 ns/iter |
1712646.919117714 ns/iter |
1.23 |
Pointer_Position_Tracker_Get_Deeply_Nested |
717.4138137763125 ns/iter |
655.6093054141877 ns/iter |
1.09 |
Schema_Frame_WoT_References |
4598919.2960523665 ns/iter |
5284533.135338272 ns/iter |
0.87 |
Schema_Frame_OMC_References |
20433386.114284854 ns/iter |
22772323.161289465 ns/iter |
0.90 |
Schema_Frame_OMC_Locations |
18743863.378376402 ns/iter |
20904564.575754523 ns/iter |
0.90 |
Schema_Frame_ISO_Language_Locations |
93788147.28571732 ns/iter |
104136413.50000565 ns/iter |
0.90 |
Schema_Frame_KrakenD_References |
39246332.11111465 ns/iter |
43209904.18749915 ns/iter |
0.91 |
Schema_Frame_KrakenD_Reachable |
814509280.0000384 ns/iter |
640382904.0000346 ns/iter |
1.27 |
Schema_Iterator_ISO_Language |
2146990.9710609275 ns/iter |
2332337.5999999978 ns/iter |
0.92 |
Schema_Frame_ISO_Language_Locations_To_JSON |
117507849.39999902 ns/iter |
111807037.5000002 ns/iter |
1.05 |
Schema_Tracker_ISO_Language |
5130745.213739981 ns/iter |
4943399.543478427 ns/iter |
1.04 |
Schema_Tracker_ISO_Language_To_JSON |
20412061.735294845 ns/iter |
18426954.02631546 ns/iter |
1.11 |
Schema_Format_ISO_Language_To_JSON |
101017276.71428762 ns/iter |
111463621.83334683 ns/iter |
0.91 |
Schema_Bundle_Meta_2020_12 |
1544593.3834337136 ns/iter |
1670434.0263147329 ns/iter |
0.92 |
Schema_Frame_Many_Resources_References |
378871309.00003284 ns/iter |
389755766.5000022 ns/iter |
0.97 |
EditorSchema_ForEditor_EmbeddedResources |
12758744.927263748 ns/iter |
14061837.360002302 ns/iter |
0.91 |
URITemplateRouter_Create |
13126.012574827937 ns/iter |
15615.954340334616 ns/iter |
0.84 |
URITemplateRouter_Match |
151.67587280573332 ns/iter |
184.50487363986917 ns/iter |
0.82 |
URITemplateRouter_Match_BasePath |
174.9453231669319 ns/iter |
225.82103568138712 ns/iter |
0.77 |
URITemplateRouterView_Restore |
2514.656358638272 ns/iter |
6404.685349570442 ns/iter |
0.39 |
URITemplateRouterView_Match |
126.5177692093175 ns/iter |
154.35011072441318 ns/iter |
0.82 |
URITemplateRouterView_Match_BasePath |
142.83144112382845 ns/iter |
176.8020107832727 ns/iter |
0.81 |
URITemplateRouterView_Arguments |
420.78670231967635 ns/iter |
477.64895948064077 ns/iter |
0.88 |
JSONL_Parse_Large |
9599789.02739768 ns/iter |
9889352.760562591 ns/iter |
0.97 |
JSONL_Parse_Large_GZIP |
10789331.707692677 ns/iter |
11281324.999999704 ns/iter |
0.96 |
HTML_Build_Table_100000 |
72236866.0000004 ns/iter |
107707813.66666901 ns/iter |
0.67 |
HTML_Render_Table_100000 |
10160725.434782734 ns/iter |
4949010.467625511 ns/iter |
2.05 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (windows/msvc)
Details
| Benchmark suite | Current: e695e0e | Previous: 76e2ef3 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
3.5483783873124897 ns/iter |
3.8124974931924056 ns/iter |
0.93 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.8966687569602976 ns/iter |
4.421173750000662 ns/iter |
0.88 |
Regex_Period_Asterisk |
3.5523751507003922 ns/iter |
3.7862818080368146 ns/iter |
0.94 |
Regex_Group_Period_Asterisk_Group |
3.8965078124978247 ns/iter |
4.428257913234365 ns/iter |
0.88 |
Regex_Period_Plus |
4.250423132589706 ns/iter |
3.790243409256854 ns/iter |
1.12 |
Regex_Period |
3.8990145089279333 ns/iter |
3.805642857142339 ns/iter |
1.02 |
Regex_Caret_Period_Plus_Dollar |
4.2547444718829155 ns/iter |
4.425519373023827 ns/iter |
0.96 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.898365528751488 ns/iter |
4.40943812500052 ns/iter |
0.88 |
Regex_Caret_Period_Asterisk_Dollar |
3.9631580286392003 ns/iter |
4.417537499999469 ns/iter |
0.90 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.8973710937512913 ns/iter |
4.423484999999516 ns/iter |
0.88 |
Regex_Caret_X_Hyphen |
6.936969642859075 ns/iter |
7.575948660714411 ns/iter |
0.92 |
Regex_Period_Md_Dollar |
34.0982573053319 ns/iter |
35.75817163554196 ns/iter |
0.95 |
Regex_Caret_Slash_Period_Asterisk |
6.726046875001097 ns/iter |
7.562006696427862 ns/iter |
0.89 |
Regex_Caret_Period_Range_Dollar |
4.309850525132922 ns/iter |
4.745307532992479 ns/iter |
0.91 |
Regex_Nested_Backtrack |
90.9003307634151 ns/iter |
96.58212961685363 ns/iter |
0.94 |
JSON_Array_Of_Objects_Unique |
523.4291071429554 ns/iter |
506.49607142848447 ns/iter |
1.03 |
JSON_Parse_1 |
7655.366071424347 ns/iter |
8106.473214285005 ns/iter |
0.94 |
JSON_Parse_Real |
13902.194642858894 ns/iter |
16436.00892857628 ns/iter |
0.85 |
JSON_Parse_Decimal |
15209.573660714326 ns/iter |
15250.154017856234 ns/iter |
1.00 |
JSON_Parse_Schema_ISO_Language |
6314252.678574153 ns/iter |
6189481.250000231 ns/iter |
1.02 |
JSON_Fast_Hash_Helm_Chart_Lock |
72.2697946428395 ns/iter |
69.19884821428468 ns/iter |
1.04 |
JSON_Equality_Helm_Chart_Lock |
291.28787985312704 ns/iter |
271.1593469267007 ns/iter |
1.07 |
JSON_Divisible_By_Decimal |
256.16799999998614 ns/iter |
248.0428182988284 ns/iter |
1.03 |
JSON_String_Equal/10 |
12.305855357145186 ns/iter |
13.368069583182072 ns/iter |
0.92 |
JSON_String_Equal/100 |
13.634905519487464 ns/iter |
13.547839285714808 ns/iter |
1.01 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.771600983725125 ns/iter |
1.8899989302586975 ns/iter |
0.94 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
11.99168392857278 ns/iter |
12.966060879616657 ns/iter |
0.92 |
JSON_String_Fast_Hash/10 |
4.239512418283024 ns/iter |
3.8239907074564723 ns/iter |
1.11 |
JSON_String_Fast_Hash/100 |
4.261496181133113 ns/iter |
3.768968564697884 ns/iter |
1.13 |
JSON_String_Key_Hash/10 |
3.896054457328128 ns/iter |
3.790117493232112 ns/iter |
1.03 |
JSON_String_Key_Hash/100 |
16.929957589287678 ns/iter |
14.445453953366814 ns/iter |
1.17 |
JSON_Object_Defines_Miss_Same_Length |
3.8827427455347316 ns/iter |
3.78535606466927 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Too_Small |
3.9550139508952906 ns/iter |
3.8261041003115093 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Too_Large |
3.885046600206166 ns/iter |
3.774892857143338 ns/iter |
1.03 |
Pointer_Object_Traverse |
42.931909436939684 ns/iter |
43.90936567937905 ns/iter |
0.98 |
Pointer_Object_Try_Traverse |
54.24156250001033 ns/iter |
55.64911607143992 ns/iter |
0.97 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
169.9269310219094 ns/iter |
149.15028352005285 ns/iter |
1.14 |
Pointer_Walker_Schema_ISO_Language |
12414466.071423443 ns/iter |
12181932.142855853 ns/iter |
1.02 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2066562.2073572248 ns/iter |
2265439.6428565956 ns/iter |
0.91 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
2991770.762711463 ns/iter |
3191422.065727648 ns/iter |
0.94 |
Pointer_Position_Tracker_Get_Deeply_Nested |
655.6299107139855 ns/iter |
614.4651785715232 ns/iter |
1.07 |
Schema_Frame_WoT_References |
10317817.187505795 ns/iter |
10242559.374997739 ns/iter |
1.01 |
Schema_Frame_OMC_References |
45219266.66666331 ns/iter |
46779264.28571157 ns/iter |
0.97 |
Schema_Frame_OMC_Locations |
41129194.117649384 ns/iter |
43139700.000010096 ns/iter |
0.95 |
Schema_Frame_ISO_Language_Locations |
193873324.99991316 ns/iter |
198139933.3333229 ns/iter |
0.98 |
Schema_Frame_KrakenD_References |
93786057.14287654 ns/iter |
92395400.00001918 ns/iter |
1.02 |
Schema_Frame_KrakenD_Reachable |
520394800.0003038 ns/iter |
522662099.9999341 ns/iter |
1.00 |
Schema_Iterator_ISO_Language |
5150785.000000724 ns/iter |
5191844.000000856 ns/iter |
0.99 |
Schema_Frame_ISO_Language_Locations_To_JSON |
310735999.9999062 ns/iter |
309068050.00006443 ns/iter |
1.01 |
Schema_Tracker_ISO_Language |
15988484.444440272 ns/iter |
17105556.097559623 ns/iter |
0.93 |
Schema_Tracker_ISO_Language_To_JSON |
49080909.09091036 ns/iter |
49893339.99999417 ns/iter |
0.98 |
Schema_Format_ISO_Language_To_JSON |
196055166.6666106 ns/iter |
199430500.00006223 ns/iter |
0.98 |
Schema_Bundle_Meta_2020_12 |
2821844.1766877375 ns/iter |
3010822.7678624643 ns/iter |
0.94 |
Schema_Frame_Many_Resources_References |
1466088200.0002856 ns/iter |
1518711500.0001085 ns/iter |
0.97 |
EditorSchema_ForEditor_EmbeddedResources |
30214422.727298867 ns/iter |
29929436.363638405 ns/iter |
1.01 |
URITemplateRouter_Create |
20914.35784342098 ns/iter |
22965.222486354585 ns/iter |
0.91 |
URITemplateRouter_Match |
219.01753125007417 ns/iter |
215.88330063019922 ns/iter |
1.01 |
URITemplateRouter_Match_BasePath |
252.9937499999895 ns/iter |
250.82557142858215 ns/iter |
1.01 |
URITemplateRouterView_Restore |
24507.205276725323 ns/iter |
35081.00569632705 ns/iter |
0.70 |
URITemplateRouterView_Match |
162.813973214274 ns/iter |
165.28848214285574 ns/iter |
0.99 |
URITemplateRouterView_Match_BasePath |
189.29470360297316 ns/iter |
193.4025172681131 ns/iter |
0.98 |
URITemplateRouterView_Arguments |
447.6235625000414 ns/iter |
446.6700000000401 ns/iter |
1.00 |
JSONL_Parse_Large |
27327796.000008672 ns/iter |
28551639.999996044 ns/iter |
0.96 |
JSONL_Parse_Large_GZIP |
27021919.230771977 ns/iter |
28097929.16666728 ns/iter |
0.96 |
HTML_Build_Table_100000 |
91738742.85709514 ns/iter |
87223688.88889934 ns/iter |
1.05 |
HTML_Render_Table_100000 |
7885331.111113677 ns/iter |
8300907.777778675 ns/iter |
0.95 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/gcc)
Details
| Benchmark suite | Current: e695e0e | Previous: 76e2ef3 | Ratio |
|---|---|---|---|
HTML_Build_Table_100000 |
69032501.29998924 ns/iter |
62886122.81818214 ns/iter |
1.10 |
HTML_Render_Table_100000 |
5371005.068180886 ns/iter |
5385214.674418442 ns/iter |
1.00 |
JSONL_Parse_Large |
12360021.47368453 ns/iter |
12628426.563634837 ns/iter |
0.98 |
JSONL_Parse_Large_GZIP |
13417929.384611573 ns/iter |
13764469.44898037 ns/iter |
0.97 |
URITemplateRouter_Create |
14269.881100736715 ns/iter |
14933.383860321059 ns/iter |
0.96 |
URITemplateRouter_Match |
169.13198959987815 ns/iter |
207.1749550321466 ns/iter |
0.82 |
URITemplateRouter_Match_BasePath |
201.13380961743513 ns/iter |
226.97359636430966 ns/iter |
0.89 |
URITemplateRouterView_Restore |
6616.048460682829 ns/iter |
6751.031235458307 ns/iter |
0.98 |
URITemplateRouterView_Match |
126.24876608878924 ns/iter |
134.7921774320347 ns/iter |
0.94 |
URITemplateRouterView_Match_BasePath |
144.13630281542993 ns/iter |
154.92953462105328 ns/iter |
0.93 |
URITemplateRouterView_Arguments |
449.208791279343 ns/iter |
493.5705318410229 ns/iter |
0.91 |
EditorSchema_ForEditor_EmbeddedResources |
14189712.265301658 ns/iter |
13907643.939978696 ns/iter |
1.02 |
Schema_Frame_WoT_References |
5515524.677165322 ns/iter |
5364211.923664392 ns/iter |
1.03 |
Schema_Frame_OMC_References |
23490869.068962574 ns/iter |
22201008.00000324 ns/iter |
1.06 |
Schema_Frame_OMC_Locations |
21779179.3750024 ns/iter |
20673106.705885403 ns/iter |
1.05 |
Schema_Frame_ISO_Language_Locations |
105778479.83332352 ns/iter |
102542868.99998988 ns/iter |
1.03 |
Schema_Frame_KrakenD_References |
44664607.00000141 ns/iter |
40744480.41176444 ns/iter |
1.10 |
Schema_Frame_KrakenD_Reachable |
602252581.0001298 ns/iter |
522582794.00007266 ns/iter |
1.15 |
Schema_Iterator_ISO_Language |
2366246.141414179 ns/iter |
2457236.207018261 ns/iter |
0.96 |
Schema_Frame_ISO_Language_Locations_To_JSON |
243087416.00005606 ns/iter |
220896233.33332992 ns/iter |
1.10 |
Schema_Tracker_ISO_Language |
4640415.860000455 ns/iter |
4750291.734693882 ns/iter |
0.98 |
Schema_Tracker_ISO_Language_To_JSON |
22212826.451609105 ns/iter |
22263124.548390485 ns/iter |
1.00 |
Schema_Format_ISO_Language_To_JSON |
113800190.0000063 ns/iter |
109469640.00000511 ns/iter |
1.04 |
Schema_Bundle_Meta_2020_12 |
1767545.8686846578 ns/iter |
1784411.5115094099 ns/iter |
0.99 |
Schema_Frame_Many_Resources_References |
395562803.4999563 ns/iter |
379683926.99997365 ns/iter |
1.04 |
Pointer_Object_Traverse |
26.247159976916734 ns/iter |
28.52659550748248 ns/iter |
0.92 |
Pointer_Object_Try_Traverse |
25.010636943004048 ns/iter |
24.11253623632258 ns/iter |
1.04 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
178.8221363015302 ns/iter |
152.04813708174333 ns/iter |
1.18 |
Pointer_Walker_Schema_ISO_Language |
3529784.1249996508 ns/iter |
3298875.4644552995 ns/iter |
1.07 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1512565.3787876004 ns/iter |
1550563.9269911957 ns/iter |
0.98 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1721688.2702701401 ns/iter |
1772027.8911395015 ns/iter |
0.97 |
Pointer_Position_Tracker_Get_Deeply_Nested |
444.1402116402114 ns/iter |
405.95692428158685 ns/iter |
1.09 |
JSON_Array_Of_Objects_Unique |
433.645963966064 ns/iter |
380.98235287084805 ns/iter |
1.14 |
JSON_Parse_1 |
7778.81894634222 ns/iter |
7946.489509055704 ns/iter |
0.98 |
JSON_Parse_Real |
11726.743738576948 ns/iter |
11876.298705702882 ns/iter |
0.99 |
JSON_Parse_Decimal |
16446.281452353087 ns/iter |
18147.02073009119 ns/iter |
0.91 |
JSON_Parse_Schema_ISO_Language |
4566076.006494473 ns/iter |
4640519.73509919 ns/iter |
0.98 |
JSON_Fast_Hash_Helm_Chart_Lock |
58.86909321029201 ns/iter |
60.10638200324636 ns/iter |
0.98 |
JSON_Equality_Helm_Chart_Lock |
167.8866467542042 ns/iter |
153.578749678993 ns/iter |
1.09 |
JSON_Divisible_By_Decimal |
233.61588778214823 ns/iter |
243.17149511109827 ns/iter |
0.96 |
JSON_String_Equal/10 |
6.489059916141608 ns/iter |
6.662864132157531 ns/iter |
0.97 |
JSON_String_Equal/100 |
7.084395437205994 ns/iter |
6.715181038630066 ns/iter |
1.05 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.711927801339701 ns/iter |
0.6244662485639408 ns/iter |
1.14 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
21.93342593157565 ns/iter |
25.196598660587682 ns/iter |
0.87 |
JSON_String_Fast_Hash/10 |
1.7592284905242321 ns/iter |
1.5580648072016614 ns/iter |
1.13 |
JSON_String_Fast_Hash/100 |
1.7620301189243328 ns/iter |
1.5574064895339337 ns/iter |
1.13 |
JSON_String_Key_Hash/10 |
1.162033585437422 ns/iter |
1.2480090047301848 ns/iter |
0.93 |
JSON_String_Key_Hash/100 |
14.965728506529382 ns/iter |
12.440412614374123 ns/iter |
1.20 |
JSON_Object_Defines_Miss_Same_Length |
3.5204195625667447 ns/iter |
3.127081618468356 ns/iter |
1.13 |
JSON_Object_Defines_Miss_Too_Small |
3.51820510949127 ns/iter |
3.4271881919012204 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Too_Large |
3.52010884168149 ns/iter |
3.115548982649189 ns/iter |
1.13 |
Regex_Lower_S_Or_Upper_S_Asterisk |
1.4073183870039228 ns/iter |
1.2459892934553087 ns/iter |
1.13 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.4070562383362402 ns/iter |
1.2473924552868876 ns/iter |
1.13 |
Regex_Period_Asterisk |
1.408460764035587 ns/iter |
1.5572891905207167 ns/iter |
0.90 |
Regex_Group_Period_Asterisk_Group |
1.7595788518906756 ns/iter |
1.5579359371848431 ns/iter |
1.13 |
Regex_Period_Plus |
1.4095144488564393 ns/iter |
1.2466345194484572 ns/iter |
1.13 |
Regex_Period |
1.4071474905178762 ns/iter |
1.247274456560736 ns/iter |
1.13 |
Regex_Caret_Period_Plus_Dollar |
1.412190330092165 ns/iter |
1.558724509331318 ns/iter |
0.91 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
1.4076926532683904 ns/iter |
1.5580037679982852 ns/iter |
0.90 |
Regex_Caret_Period_Asterisk_Dollar |
1.7606677514865876 ns/iter |
1.5639462437582063 ns/iter |
1.13 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.7615837326060757 ns/iter |
1.5590698576482829 ns/iter |
1.13 |
Regex_Caret_X_Hyphen |
11.94909579439514 ns/iter |
12.755483297576312 ns/iter |
0.94 |
Regex_Period_Md_Dollar |
34.14874695348383 ns/iter |
30.891885436203108 ns/iter |
1.11 |
Regex_Caret_Slash_Period_Asterisk |
4.573203051370669 ns/iter |
4.98232069965885 ns/iter |
0.92 |
Regex_Caret_Period_Range_Dollar |
1.7606474316726202 ns/iter |
1.557290462226794 ns/iter |
1.13 |
Regex_Nested_Backtrack |
50.63641511215923 ns/iter |
53.15483009469052 ns/iter |
0.95 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com