Skip to content

Make LibDeflate finally compile on Linux ARM#2361

Merged
jviotti merged 1 commit intomainfrom
deflate-fix-2
Apr 24, 2026
Merged

Make LibDeflate finally compile on Linux ARM#2361
jviotti merged 1 commit intomainfrom
deflate-fix-2

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented Apr 24, 2026

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

@jviotti jviotti merged commit 7422fb7 into main Apr 24, 2026
13 checks passed
@jviotti jviotti deleted the deflate-fix-2 branch April 24, 2026 21:19
@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented Apr 24, 2026

🤖 Augment PR Summary

Summary: Updates the vendored libdeflate CMake integration to better handle AArch64 toolchains where the compiler is newer than the assembler.
Changes:

  • Switch dotprod assembler probing to a GCC�14 path using per-function target() attributes, with a -march=armv8.2-a+dotprod fallback for other compilers/versions.
  • Add a new SHA3/eor3 assembler probe with the same GCC�14 vs -march fallback strategy.
  • Define LIBDEFLATE_ASSEMBLER_DOES_NOT_SUPPORT_DOTPROD / ..._SHA3 to disable the corresponding optimized libdeflate implementations when probing fails.
Intent: Avoid build breaks on Linux ARM when GCC 14+ is paired with older binutils that lack support for these extensions.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

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);
Copy link
Copy Markdown

@augmentcode augmentcode Bot Apr 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Fix This in Augment

🤖 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);
Copy link
Copy Markdown

@augmentcode augmentcode Bot Apr 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Copy link
Copy Markdown

@github-actions github-actions Bot left a 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: 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.

Copy link
Copy Markdown

@github-actions github-actions Bot left a 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: 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.

Copy link
Copy Markdown

@github-actions github-actions Bot left a 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: 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.

Copy link
Copy Markdown

@github-actions github-actions Bot left a 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: 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant