Skip to content

Implement an nfc_quick_check helper#2430

Merged
jviotti merged 3 commits into
mainfrom
nfc-quick-check
May 27, 2026
Merged

Implement an nfc_quick_check helper#2430
jviotti merged 3 commits into
mainfrom
nfc-quick-check

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 27, 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.

1 issue found across 7 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread src/core/unicode/codegen.py Outdated
@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 27, 2026

🤖 Augment PR Summary

Summary: This PR introduces an nfc_quick_check API to expose the Unicode NFC quick-check property (UAX #15) for individual code points.

Changes:

  • Extends the Unicode table generator (src/core/unicode/codegen.py) to parse multi-field UCD rows and filter DerivedNormalizationProps.txt for NFC_QC values.
  • Updates the Unicode CMake pipeline to feed and track DerivedNormalizationProps.txt as an input/DEPENDS file for code generation.
  • Adds a new public enum NFCQuickCheck in unicode_ucd.h to represent {Yes, No, Maybe}.
  • Exposes nfc_quick_check(char32_t) in the public header and implements it in unicode.cc using generated stage1/stage2 lookup tables.
  • Adds a dedicated GoogleTest suite covering common “Yes/No/Maybe” examples and out-of-range code points.

Technical Notes: The new property data is stored in the same compressed page-table format as the existing Unicode properties and uses the UCD NFC_QC value aliases for mapping.

🤖 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. 1 suggestion posted.

Fix All in Augment

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

Comment thread src/core/unicode/include/sourcemeta/core/unicode.h
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: 8553532 Previous: 336d4ad Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.020154637970957 ns/iter 1.881447846673291 ns/iter 1.07
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.7009355251441176 ns/iter 1.594879808184203 ns/iter 1.07
Regex_Period_Asterisk 1.6684731644569453 ns/iter 1.573846938003958 ns/iter 1.06
Regex_Group_Period_Asterisk_Group 1.6578541529705892 ns/iter 1.6010346324174713 ns/iter 1.04
Regex_Period_Plus 2.0383232603288075 ns/iter 2.0797467634416207 ns/iter 0.98
Regex_Period 2.0254526327073625 ns/iter 1.926204469589246 ns/iter 1.05
Regex_Caret_Period_Plus_Dollar 1.9913565805683082 ns/iter 1.883182852101973 ns/iter 1.06
Regex_Caret_Group_Period_Plus_Group_Dollar 2.006456138503325 ns/iter 1.8832133303995664 ns/iter 1.07
Regex_Caret_Period_Asterisk_Dollar 1.699322010524221 ns/iter 1.5757196330620589 ns/iter 1.08
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.6691074601547873 ns/iter 1.5690202628224825 ns/iter 1.06
Regex_Caret_X_Hyphen 5.994094144100454 ns/iter 5.658319038348168 ns/iter 1.06
Regex_Period_Md_Dollar 16.352552465967843 ns/iter 15.16697863580248 ns/iter 1.08
Regex_Caret_Slash_Period_Asterisk 8.060885290734545 ns/iter 7.461858478779526 ns/iter 1.08
Regex_Caret_Period_Range_Dollar 1.6626192054760396 ns/iter 1.5993125786165001 ns/iter 1.04
Regex_Nested_Backtrack 24.58421628949675 ns/iter 22.73220227132502 ns/iter 1.08
JSON_Array_Of_Objects_Unique 428.62129291408297 ns/iter 406.38780496637526 ns/iter 1.05
JSON_Parse_1 3924.5187121805466 ns/iter 3615.844392067262 ns/iter 1.09
JSON_Parse_Real 6269.899818133802 ns/iter 5929.446460718835 ns/iter 1.06
JSON_Parse_Decimal 8015.689358997498 ns/iter 7489.981558690756 ns/iter 1.07
JSON_Parse_Schema_ISO_Language 2849131.8093386674 ns/iter 2589700.9259257107 ns/iter 1.10
JSON_Fast_Hash_Helm_Chart_Lock 57.480698836468555 ns/iter 54.358994988523136 ns/iter 1.06
JSON_Equality_Helm_Chart_Lock 131.69382315796653 ns/iter 124.13212285568913 ns/iter 1.06
JSON_Divisible_By_Decimal 174.5523843017331 ns/iter 161.5420623309227 ns/iter 1.08
JSON_String_Equal/10 6.6593360988385815 ns/iter 6.284140670244944 ns/iter 1.06
JSON_String_Equal/100 6.390062991686023 ns/iter 5.961034442564582 ns/iter 1.07
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7678718463548647 ns/iter 0.6981001671728375 ns/iter 1.10
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.228598320255891 ns/iter 3.054141596451492 ns/iter 1.06
JSON_String_Fast_Hash/10 2.323166474078998 ns/iter 2.251322434050224 ns/iter 1.03
JSON_String_Fast_Hash/100 2.0215945914752456 ns/iter 1.8824079007663412 ns/iter 1.07
JSON_String_Key_Hash/10 1.353310204107811 ns/iter 1.2548653264084209 ns/iter 1.08
JSON_String_Key_Hash/100 2.071152624482556 ns/iter 1.9708836003991494 ns/iter 1.05
JSON_Object_Defines_Miss_Same_Length 2.3229695741958842 ns/iter 2.1960158637058873 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Small 2.370217305032893 ns/iter 2.197198458109027 ns/iter 1.08
JSON_Object_Defines_Miss_Too_Large 2.379415286583963 ns/iter 2.200970933609483 ns/iter 1.08
Pointer_Object_Traverse 13.785729158793727 ns/iter 12.944684685680468 ns/iter 1.06
Pointer_Object_Try_Traverse 18.90430425168669 ns/iter 17.839275476821737 ns/iter 1.06
Pointer_Push_Back_Pointer_To_Weak_Pointer 154.96175099799328 ns/iter 142.99535536410087 ns/iter 1.08
Pointer_Walker_Schema_ISO_Language 4313500.686813078 ns/iter 3675095.203487767 ns/iter 1.17
Pointer_Maybe_Tracked_Deeply_Nested/0 972462.9634318482 ns/iter 914954.0219921637 ns/iter 1.06
Pointer_Maybe_Tracked_Deeply_Nested/1 1366880.5658152378 ns/iter 1186893.2416811553 ns/iter 1.15
Pointer_Position_Tracker_Get_Deeply_Nested 352.75925146344207 ns/iter 331.95914798842836 ns/iter 1.06
URITemplateRouter_Create 22785.21609044407 ns/iter 21248.12666363325 ns/iter 1.07
URITemplateRouter_Match 160.54042881581296 ns/iter 152.28291299571052 ns/iter 1.05
URITemplateRouter_Match_BasePath 191.09808106658093 ns/iter 187.34918768693512 ns/iter 1.02
URITemplateRouterView_Restore 9337.378497384118 ns/iter 8693.984943786003 ns/iter 1.07
URITemplateRouterView_Match 127.11221257894756 ns/iter 121.40852957184416 ns/iter 1.05
URITemplateRouterView_Match_BasePath 146.62087450726864 ns/iter 137.0769969176731 ns/iter 1.07
URITemplateRouterView_Arguments 403.2792230341932 ns/iter 374.5959208135763 ns/iter 1.08
JSONL_Parse_Large 12053829.229507457 ns/iter 11537293.000000795 ns/iter 1.04
JSONL_Parse_Large_GZIP 12772544.759259207 ns/iter 11918148.385966402 ns/iter 1.07
HTML_Build_Table_100000 65144999.99999854 ns/iter 60125204.54545334 ns/iter 1.08
HTML_Render_Table_100000 3223369.0476189055 ns/iter 2303411.5494882558 ns/iter 1.40
GZIP_Compress_ISO_Language_Set_3_Locations 28305266.038461678 ns/iter 25824373.44445107 ns/iter 1.10
GZIP_Decompress_ISO_Language_Set_3_Locations 4900415.7196972035 ns/iter 4488533.064517058 ns/iter 1.09
GZIP_Compress_ISO_Language_Set_3_Schema 1532752.6607927717 ns/iter 1420024.2650605403 ns/iter 1.08
GZIP_Decompress_ISO_Language_Set_3_Schema 285585.8580922727 ns/iter 261178.10239823282 ns/iter 1.09

This comment was automatically generated by workflow using github-action-benchmark.

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.

1 issue found across 2 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread src/core/unicode/codegen.py Outdated
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: 8553532 Previous: 336d4ad Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.492846337411761 ns/iter 2.1815780457132394 ns/iter 1.14
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.4710256501388317 ns/iter 2.1782266686369973 ns/iter 1.13
Regex_Period_Asterisk 2.465453112374902 ns/iter 2.178955995557266 ns/iter 1.13
Regex_Group_Period_Asterisk_Group 2.4640332229345954 ns/iter 2.1797624810829417 ns/iter 1.13
Regex_Period_Plus 3.5196378459531483 ns/iter 2.4893199151484753 ns/iter 1.41
Regex_Period 3.8684508365680905 ns/iter 2.80089053904676 ns/iter 1.38
Regex_Caret_Period_Plus_Dollar 3.5166319706655758 ns/iter 2.4907790010985678 ns/iter 1.41
Regex_Caret_Group_Period_Plus_Group_Dollar 3.8696057778382444 ns/iter 2.80078801423612 ns/iter 1.38
Regex_Caret_Period_Asterisk_Dollar 2.4630303194358922 ns/iter 3.1122021898246235 ns/iter 0.79
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.8148120955141422 ns/iter 3.4221165638407105 ns/iter 0.82
Regex_Caret_X_Hyphen 6.682030008406549 ns/iter 6.54210998870313 ns/iter 1.02
Regex_Period_Md_Dollar 26.87372704205648 ns/iter 27.68134279524396 ns/iter 0.97
Regex_Caret_Slash_Period_Asterisk 7.262693399359513 ns/iter 6.8875776561145745 ns/iter 1.05
Regex_Caret_Period_Range_Dollar 2.8171244127936563 ns/iter 4.043761721866227 ns/iter 0.70
Regex_Nested_Backtrack 36.72087767896675 ns/iter 36.8614577404892 ns/iter 1.00
JSON_Array_Of_Objects_Unique 437.63126709405054 ns/iter 420.07044726823324 ns/iter 1.04
JSON_Parse_1 6045.819368699433 ns/iter 5794.43270327182 ns/iter 1.04
JSON_Parse_Real 10332.492545668396 ns/iter 10802.382255020988 ns/iter 0.96
JSON_Parse_Decimal 11368.63007714162 ns/iter 11151.116703893042 ns/iter 1.02
JSON_Parse_Schema_ISO_Language 3663580.726315798 ns/iter 3582120.410256278 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 74.26861846758167 ns/iter 61.02313038157657 ns/iter 1.22
JSON_Equality_Helm_Chart_Lock 161.1901220038802 ns/iter 152.94599075798146 ns/iter 1.05
JSON_Divisible_By_Decimal 245.94143218582371 ns/iter 248.6294897880071 ns/iter 0.99
JSON_String_Equal/10 5.984436674378424 ns/iter 6.259370679400637 ns/iter 0.96
JSON_String_Equal/100 6.685217325711138 ns/iter 6.855614134984054 ns/iter 0.98
JSON_String_Equal_Small_By_Perfect_Hash/10 1.055301831767083 ns/iter 0.9372472377438101 ns/iter 1.13
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.342320711600834 ns/iter 15.050759598371611 ns/iter 0.82
JSON_String_Fast_Hash/10 2.819179965847061 ns/iter 2.8014906642174404 ns/iter 1.01
JSON_String_Fast_Hash/100 2.8168622210481957 ns/iter 2.8036664111390897 ns/iter 1.00
JSON_String_Key_Hash/10 2.4626821481854986 ns/iter 2.6819543309705294 ns/iter 0.92
JSON_String_Key_Hash/100 8.088374832921593 ns/iter 9.022376838674695 ns/iter 0.90
JSON_Object_Defines_Miss_Same_Length 4.230183191780252 ns/iter 3.7409827647990017 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Small 4.234073236572686 ns/iter 3.739060374741587 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Large 4.222498454583083 ns/iter 3.74888102287853 ns/iter 1.13
Pointer_Object_Traverse 27.43454450361389 ns/iter 24.211631107014686 ns/iter 1.13
Pointer_Object_Try_Traverse 30.194376162085582 ns/iter 26.168073079173915 ns/iter 1.15
Pointer_Push_Back_Pointer_To_Weak_Pointer 195.18267543438256 ns/iter 225.91753490258273 ns/iter 0.86
Pointer_Walker_Schema_ISO_Language 3157338.443946014 ns/iter 2991932.4632035303 ns/iter 1.06
Pointer_Maybe_Tracked_Deeply_Nested/0 1427418.773469489 ns/iter 1415622.9544513177 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/1 1760479.2921914796 ns/iter 1842463.6402114604 ns/iter 0.96
Pointer_Position_Tracker_Get_Deeply_Nested 730.5149730068475 ns/iter 668.411052485721 ns/iter 1.09
URITemplateRouter_Create 30928.76560918675 ns/iter 31771.81120756195 ns/iter 0.97
URITemplateRouter_Match 178.50766609540656 ns/iter 172.1956421516482 ns/iter 1.04
URITemplateRouter_Match_BasePath 215.3374533067081 ns/iter 197.0879599570767 ns/iter 1.09
URITemplateRouterView_Restore 8718.252826410328 ns/iter 7945.532789848439 ns/iter 1.10
URITemplateRouterView_Match 144.29228330060363 ns/iter 144.27904926199756 ns/iter 1.00
URITemplateRouterView_Match_BasePath 164.36810324239855 ns/iter 163.16670675357042 ns/iter 1.01
URITemplateRouterView_Arguments 472.809852216094 ns/iter 455.14794880221064 ns/iter 1.04
JSONL_Parse_Large 9999412.728571346 ns/iter 11093896.317460248 ns/iter 0.90
JSONL_Parse_Large_GZIP 11316175.887097025 ns/iter 12259685.175438374 ns/iter 0.92
HTML_Build_Table_100000 83796274.75000006 ns/iter 72896047.18181926 ns/iter 1.15
HTML_Render_Table_100000 5192755.761193799 ns/iter 5283500.916030817 ns/iter 0.98
GZIP_Compress_ISO_Language_Set_3_Locations 36394501.473682195 ns/iter 33832149.28571544 ns/iter 1.08
GZIP_Decompress_ISO_Language_Set_3_Locations 4678103.83333358 ns/iter 4700731.641379865 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Schema 2116477.860606079 ns/iter 1885871.7876346344 ns/iter 1.12
GZIP_Decompress_ISO_Language_Set_3_Schema 290182.87976781785 ns/iter 378842.8706709968 ns/iter 0.77

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: 8553532 Previous: 336d4ad Ratio
GZIP_Compress_ISO_Language_Set_3_Locations 38859257.77777604 ns/iter 38673903.33333434 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 5167698.22463811 ns/iter 4806578.856164067 ns/iter 1.08
GZIP_Compress_ISO_Language_Set_3_Schema 2090224.2904191313 ns/iter 2089344.6458333507 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 397870.5624643289 ns/iter 397016.999434422 ns/iter 1.00
HTML_Build_Table_100000 59470593.83332961 ns/iter 59167792.8333354 ns/iter 1.01
HTML_Render_Table_100000 1932867.2506886008 ns/iter 1964498.2364671675 ns/iter 0.98
JSONL_Parse_Large 12823916.399999937 ns/iter 12781598.345455594 ns/iter 1.00
JSONL_Parse_Large_GZIP 14017521.840000883 ns/iter 13992367.219998414 ns/iter 1.00
URITemplateRouter_Create 30322.04883217825 ns/iter 30259.962146064117 ns/iter 1.00
URITemplateRouter_Match 174.4747473641324 ns/iter 174.83235691584622 ns/iter 1.00
URITemplateRouter_Match_BasePath 199.70712023699082 ns/iter 198.4922362604631 ns/iter 1.01
URITemplateRouterView_Restore 7660.097671882248 ns/iter 7724.2000871989685 ns/iter 0.99
URITemplateRouterView_Match 141.63776047297037 ns/iter 140.00768861826614 ns/iter 1.01
URITemplateRouterView_Match_BasePath 162.24294658656407 ns/iter 160.9246284920177 ns/iter 1.01
URITemplateRouterView_Arguments 479.6932838405162 ns/iter 478.8777051414119 ns/iter 1.00
Pointer_Object_Traverse 26.60748820493071 ns/iter 26.616829998177014 ns/iter 1.00
Pointer_Object_Try_Traverse 22.458381803412717 ns/iter 22.47220600736586 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 157.71081750064317 ns/iter 137.16714438923208 ns/iter 1.15
Pointer_Walker_Schema_ISO_Language 3323145.3554501305 ns/iter 3267354.990654648 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/0 1613909.4226327955 ns/iter 1597332.1708427134 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/1 1784897.6301021876 ns/iter 1810334.8863049657 ns/iter 0.99
Pointer_Position_Tracker_Get_Deeply_Nested 509.515485469701 ns/iter 477.50507899141496 ns/iter 1.07
JSON_Array_Of_Objects_Unique 419.37262284310896 ns/iter 416.56906988479795 ns/iter 1.01
JSON_Parse_1 7928.540892699224 ns/iter 8054.4107099782195 ns/iter 0.98
JSON_Parse_Real 12011.170534555213 ns/iter 12018.02283002593 ns/iter 1.00
JSON_Parse_Decimal 17741.325369881648 ns/iter 17609.50380739255 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 4688940.644295168 ns/iter 4609272.569536827 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 71.94758591678197 ns/iter 71.58979497960573 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 152.60522236657297 ns/iter 149.22759721055277 ns/iter 1.02
JSON_Divisible_By_Decimal 237.40608710056986 ns/iter 239.10853399606515 ns/iter 0.99
JSON_String_Equal/10 5.743216295301452 ns/iter 5.728874161793689 ns/iter 1.00
JSON_String_Equal/100 6.356087287930219 ns/iter 6.43636913756496 ns/iter 0.99
JSON_String_Equal_Small_By_Perfect_Hash/10 0.623550120203752 ns/iter 0.6241025806399638 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.20401467326354 ns/iter 25.19288998521914 ns/iter 1.00
JSON_String_Fast_Hash/10 1.5578323312270819 ns/iter 1.5564773970604557 ns/iter 1.00
JSON_String_Fast_Hash/100 1.5606627500156072 ns/iter 1.5579948360863225 ns/iter 1.00
JSON_String_Key_Hash/10 1.246736957650954 ns/iter 1.2484040606490652 ns/iter 1.00
JSON_String_Key_Hash/100 12.44443103576426 ns/iter 12.440150511064083 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.425509327635769 ns/iter 3.427067105376034 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.114340550986946 ns/iter 3.1133377736209864 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7430263132582366 ns/iter 3.735109900030543 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 0.6253363384778512 ns/iter 0.6228363478434016 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.6228250530236655 ns/iter 0.6227101406999377 ns/iter 1.00
Regex_Period_Asterisk 0.934038702754293 ns/iter 0.9341675157363264 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 0.9342799194383615 ns/iter 0.9397460765374496 ns/iter 0.99
Regex_Period_Plus 0.6233816353163861 ns/iter 0.6222405874962652 ns/iter 1.00
Regex_Period 0.6232297184279703 ns/iter 0.6227109822794158 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 0.9349398586585012 ns/iter 0.9339233328014702 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 0.9372709889465038 ns/iter 0.9384967892029589 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 0.6227816623704122 ns/iter 0.627161583424053 ns/iter 0.99
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.6226923145254994 ns/iter 0.6235069642681076 ns/iter 1.00
Regex_Caret_X_Hyphen 4.051176927313759 ns/iter 4.668471550431324 ns/iter 0.87
Regex_Period_Md_Dollar 31.14701427195067 ns/iter 30.596647886636134 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 4.683459096801911 ns/iter 4.669304216376828 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 0.7785795671641069 ns/iter 0.7835556003004562 ns/iter 0.99
Regex_Nested_Backtrack 39.99696088968027 ns/iter 38.64502809085456 ns/iter 1.03

This comment was automatically generated by workflow using github-action-benchmark.

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti merged commit 34aaf42 into main May 27, 2026
13 checks passed
@jviotti jviotti deleted the nfc-quick-check branch May 27, 2026 01:31
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: 8553532 Previous: 336d4ad Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 8.897188353138322 ns/iter 8.027507812499326 ns/iter 1.11
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 8.915822544641422 ns/iter 7.522305803571478 ns/iter 1.19
Regex_Period_Asterisk 8.920359335178162 ns/iter 7.494468750000038 ns/iter 1.19
Regex_Group_Period_Asterisk_Group 8.881870942491656 ns/iter 7.506577008928872 ns/iter 1.18
Regex_Period_Plus 11.320585937497185 ns/iter 9.789046831299398 ns/iter 1.16
Regex_Period 11.332539062497204 ns/iter 9.676228081802254 ns/iter 1.17
Regex_Caret_Period_Plus_Dollar 11.29474843749989 ns/iter 9.65984727830466 ns/iter 1.17
Regex_Caret_Group_Period_Plus_Group_Dollar 11.345501785712031 ns/iter 9.661795939010656 ns/iter 1.17
Regex_Caret_Period_Asterisk_Dollar 8.866186567559097 ns/iter 7.493412946428483 ns/iter 1.18
Regex_Caret_Group_Period_Asterisk_Group_Dollar 8.829726562498458 ns/iter 7.501258928571833 ns/iter 1.18
Regex_Caret_X_Hyphen 13.669688108616413 ns/iter 11.557214062500876 ns/iter 1.18
Regex_Period_Md_Dollar 40.462233577609204 ns/iter 38.628063616068836 ns/iter 1.05
Regex_Caret_Slash_Period_Asterisk 13.052135714283558 ns/iter 11.286498437499404 ns/iter 1.16
Regex_Caret_Period_Range_Dollar 11.280601562500436 ns/iter 9.673600403242492 ns/iter 1.17
Regex_Nested_Backtrack 50.49100055474892 ns/iter 48.208625570028815 ns/iter 1.05
JSON_Array_Of_Objects_Unique 503.77069999990454 ns/iter 481.70106734395745 ns/iter 1.05
JSON_Parse_1 7986.1417410726735 ns/iter 8332.046875000491 ns/iter 0.96
JSON_Parse_Real 14072.158383223681 ns/iter 15489.912946427305 ns/iter 0.91
JSON_Parse_Decimal 14659.080357140348 ns/iter 15612.772321428483 ns/iter 0.94
JSON_Parse_Schema_ISO_Language 6244449.107143169 ns/iter 6214745.535714882 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 71.1482031249996 ns/iter 69.38869642856918 ns/iter 1.03
JSON_Equality_Helm_Chart_Lock 269.71576474483805 ns/iter 255.92871231827507 ns/iter 1.05
JSON_Divisible_By_Decimal 253.46170104743848 ns/iter 249.9017142857188 ns/iter 1.01
JSON_String_Equal/10 11.86726071428471 ns/iter 12.875073214284987 ns/iter 0.92
JSON_String_Equal/100 12.824957755245176 ns/iter 13.203586548196672 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 1.776214934225129 ns/iter 1.883566874999687 ns/iter 0.94
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.100960937498684 ns/iter 12.550948214285182 ns/iter 0.96
JSON_String_Fast_Hash/10 4.243825632579011 ns/iter 3.7933923146545454 ns/iter 1.12
JSON_String_Fast_Hash/100 4.273420176663204 ns/iter 3.7669966004159803 ns/iter 1.13
JSON_String_Key_Hash/10 4.242120667749657 ns/iter 3.7676797932204504 ns/iter 1.13
JSON_String_Key_Hash/100 16.928491627710336 ns/iter 16.54297109457848 ns/iter 1.02
JSON_Object_Defines_Miss_Same_Length 3.9373816964286386 ns/iter 3.7672767857139484 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Small 4.025301339286104 ns/iter 3.775315998565526 ns/iter 1.07
JSON_Object_Defines_Miss_Too_Large 4.96409500000027 ns/iter 5.051618999999619 ns/iter 0.98
Pointer_Object_Traverse 42.078408118609815 ns/iter 39.64163178091007 ns/iter 1.06
Pointer_Object_Try_Traverse 53.28064000000268 ns/iter 52.27338999999347 ns/iter 1.02
Pointer_Push_Back_Pointer_To_Weak_Pointer 167.53750005832075 ns/iter 174.44866793180867 ns/iter 0.96
Pointer_Walker_Schema_ISO_Language 13143816.000001607 ns/iter 13261039.285714965 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/0 2000102.8571430522 ns/iter 1990112.4999997981 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/1 3088937.946428822 ns/iter 3256922.0657274695 ns/iter 0.95
Pointer_Position_Tracker_Get_Deeply_Nested 630.4949520598336 ns/iter 623.4754464285533 ns/iter 1.01
URITemplateRouter_Create 38805.42133175311 ns/iter 39958.46439556846 ns/iter 0.97
URITemplateRouter_Match 211.9891624111686 ns/iter 206.54428124998958 ns/iter 1.03
URITemplateRouter_Match_BasePath 256.1760357143125 ns/iter 245.78926944317004 ns/iter 1.04
URITemplateRouterView_Restore 24942.274081756506 ns/iter 33045.03820372233 ns/iter 0.75
URITemplateRouterView_Match 163.10733423631984 ns/iter 159.93310267857296 ns/iter 1.02
URITemplateRouterView_Match_BasePath 188.2321567753891 ns/iter 182.4714251654996 ns/iter 1.03
URITemplateRouterView_Arguments 472.089384708206 ns/iter 445.1505928168554 ns/iter 1.06
JSONL_Parse_Large 28216879.166668225 ns/iter 30825840.90908953 ns/iter 0.92
JSONL_Parse_Large_GZIP 26262684.615385994 ns/iter 30191441.666668575 ns/iter 0.87
HTML_Build_Table_100000 93816722.2222243 ns/iter 88031822.22221847 ns/iter 1.07
HTML_Render_Table_100000 8347786.666667566 ns/iter 8547442.222221788 ns/iter 0.98
GZIP_Compress_ISO_Language_Set_3_Locations 44416020.00000179 ns/iter 41638523.52940681 ns/iter 1.07
GZIP_Decompress_ISO_Language_Set_3_Locations 11562889.333332956 ns/iter 11387489.285713822 ns/iter 1.02
GZIP_Compress_ISO_Language_Set_3_Schema 2523655.357142778 ns/iter 2328695.652173918 ns/iter 1.08
GZIP_Decompress_ISO_Language_Set_3_Schema 718214.4642856413 ns/iter 682692.857142797 ns/iter 1.05

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