Skip to content

Fix various JSON-LD compliance issues - #2699

Merged
jviotti merged 4 commits into
mainfrom
ld-fixes
Aug 1, 2026
Merged

Fix various JSON-LD compliance issues#2699
jviotti merged 4 commits into
mainfrom
ld-fixes

Conversation

@jviotti

@jviotti jviotti commented Jul 31, 2026

Copy link
Copy Markdown
Member

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

Review in cubic

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

augmentcode Bot commented Jul 31, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR fixes several JSON-LD 1.1 compliance corner cases in compaction, materialization, and literal serialization.

Changes:

  • Preserves JSON literals whose @value is null during compaction when the active term is coerced to @json (so the null is treated as data, not “absence”).
  • Updates JSON-LD materialization to treat null as “missing” except when under a JSON literal descriptor (@type: @json), where null is valid data.
  • Makes undescribed nested arrays inside list containers materialize as lists-of-lists (propagating the enclosing ordered-collection kind).
  • Retains index map keys as @index on expanded members (except the reserved @none key), instead of dropping them early.
  • Drops free-floating empty node objects at the top level / standalone output, aligning with the spec’s “empty map => null” behavior.
  • Serializes negative zero for xsd:double/xsd:float as -0.0E0 (distinguishing signed zero in canonical lexical form).
  • Adds extensive unit tests covering these edge cases.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. No suggestions at this time.

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

jviotti added 2 commits July 31, 2026 20:39
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All reported issues were addressed across 1 file (changes from recent commits).

You’re at about 90% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread cmake/common/compiler/options.cmake

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 4d28355 Previous: e989ef3 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.7896911287471349 ns/iter 2.167312519316929 ns/iter 0.83
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9294445805289262 ns/iter 2.160960935619276 ns/iter 0.89
Regex_Period_Asterisk 2.0610091158030635 ns/iter 2.108468203449728 ns/iter 0.98
Regex_Group_Period_Asterisk_Group 2.1700591547327157 ns/iter 2.4127641242223703 ns/iter 0.90
Regex_Period_Plus 2.550922081996551 ns/iter 2.7281861430473833 ns/iter 0.94
Regex_Period 2.644025142758768 ns/iter 2.369166527536159 ns/iter 1.12
Regex_Caret_Period_Plus_Dollar 2.671755142316567 ns/iter 2.3877002141773485 ns/iter 1.12
Regex_Caret_Group_Period_Plus_Group_Dollar 3.1379158826612916 ns/iter 2.5710073298134772 ns/iter 1.22
Regex_Caret_Period_Asterisk_Dollar 2.0413609240424155 ns/iter 2.1028794235144965 ns/iter 0.97
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.7050258207915798 ns/iter 2.5938555188970454 ns/iter 0.66
Regex_Caret_X_Hyphen 6.224301795597439 ns/iter 7.767363254509294 ns/iter 0.80
Regex_Period_Md_Dollar 22.17667502028174 ns/iter 22.673657562910726 ns/iter 0.98
Regex_Caret_Slash_Period_Asterisk 5.932211906932513 ns/iter 6.985007788426362 ns/iter 0.85
Regex_Caret_Period_Range_Dollar 1.9882777102729305 ns/iter 2.3890167792353334 ns/iter 0.83
Regex_Nested_Backtrack 25.87549541740053 ns/iter 32.23220467279866 ns/iter 0.80
JSON_Array_Of_Objects_Unique 355.0064145588891 ns/iter 446.9038365396877 ns/iter 0.79
JSON_Parse_1 6519.589404274308 ns/iter 8190.92389768893 ns/iter 0.80
JSON_Parse_Real 6463.0489314465485 ns/iter 8405.423911788888 ns/iter 0.77
JSON_Parse_Decimal 8168.3722091180425 ns/iter 9022.537921464796 ns/iter 0.91
JSON_Parse_Schema_ISO_Language 3754382.2295917 ns/iter 5344845.244897962 ns/iter 0.70
JSON_Parse_Integer 4367.702015396306 ns/iter 7149.532227556377 ns/iter 0.61
JSON_Parse_String_NonSSO_Plain 7745.300670418436 ns/iter 9625.305546359019 ns/iter 0.80
JSON_Parse_String_SSO_Plain 3040.3990755419604 ns/iter 3624.4176977897846 ns/iter 0.84
JSON_Parse_String_Escape_Heavy 24978.283473454736 ns/iter 25993.875098167322 ns/iter 0.96
JSON_Parse_Object_Short_Keys 9408.692414345305 ns/iter 9670.733312587687 ns/iter 0.97
JSON_Parse_Object_Scalar_Properties 5570.351182679306 ns/iter 5570.792909999228 ns/iter 1.00
JSON_Parse_Object_Array_Properties 8108.8246708319475 ns/iter 8467.825252228535 ns/iter 0.96
JSON_Parse_Object_Object_Properties 9599.46400624233 ns/iter 8800.461940113024 ns/iter 1.09
JSON_Parse_Nested_Containers 70693.91251084684 ns/iter 75159.49948274152 ns/iter 0.94
JSON_From_String_Copy 26.164187070604186 ns/iter 28.128524193759862 ns/iter 0.93
JSON_From_String_Temporary 21.593838979647746 ns/iter 22.58562357901762 ns/iter 0.96
JSON_Number_To_Double 38.09668547275836 ns/iter 39.776277553365276 ns/iter 0.96
JSON_Object_At_Last_Key/8 4.686266736955929 ns/iter 4.704316655445074 ns/iter 1.00
JSON_Object_At_Last_Key/32 14.338709497644842 ns/iter 13.756550244693639 ns/iter 1.04
JSON_Object_At_Last_Key/128 57.67396779096408 ns/iter 57.58706532270299 ns/iter 1.00
JSON_Object_At_Last_Key/512 205.47761169694513 ns/iter 193.14606265479358 ns/iter 1.06
JSON_Fast_Hash_Helm_Chart_Lock 83.88157923585203 ns/iter 63.338648861718625 ns/iter 1.32
JSON_Equality_Helm_Chart_Lock 175.22997551069162 ns/iter 149.32147285323458 ns/iter 1.17
JSON_Divisible_By_Decimal 208.97349068041163 ns/iter 198.67545174380783 ns/iter 1.05
JSON_String_Equal/10 8.84674487675368 ns/iter 7.442669532636233 ns/iter 1.19
JSON_String_Equal/100 8.775757225970384 ns/iter 7.942911070051731 ns/iter 1.10
JSON_String_Equal_Small_By_Perfect_Hash/10 0.38426460961673303 ns/iter 0.5418294520705071 ns/iter 0.71
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.4459574243661377 ns/iter 3.4604539544703985 ns/iter 1.00
JSON_String_Fast_Hash/10 2.3633210114444267 ns/iter 2.7681256889430723 ns/iter 0.85
JSON_String_Fast_Hash/100 2.119325114677639 ns/iter 2.383328582884312 ns/iter 0.89
JSON_String_Key_Hash/10 1.783354823801309 ns/iter 1.8986151305823007 ns/iter 0.94
JSON_String_Key_Hash/100 2.1869216329251766 ns/iter 2.572323831396186 ns/iter 0.85
JSON_Object_Defines_Miss_Same_Length 3.4945729650627713 ns/iter 3.4477492475695386 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Small 3.05798982377084 ns/iter 4.375569282745876 ns/iter 0.70
JSON_Object_Defines_Miss_Too_Large 3.1800380001207693 ns/iter 3.5770795289506268 ns/iter 0.89
Pointer_Object_Traverse 24.84394984732015 ns/iter 30.826148029735858 ns/iter 0.81
Pointer_Object_Try_Traverse 22.16675328390684 ns/iter 27.77928181801761 ns/iter 0.80
Pointer_Push_Back_Pointer_To_Weak_Pointer 170.95882476340353 ns/iter 212.41261137986965 ns/iter 0.80
Pointer_Walker_Schema_ISO_Language 2912212.0347490557 ns/iter 3320092.5091741863 ns/iter 0.88
Pointer_Maybe_Tracked_Deeply_Nested/0 1351643.1688523628 ns/iter 1404880.3661970461 ns/iter 0.96
Pointer_Maybe_Tracked_Deeply_Nested/1 1271360.9437749924 ns/iter 1197519.0972221366 ns/iter 1.06
Pointer_Position_Tracker_Get_Deeply_Nested 367.149517544401 ns/iter 363.2737433943799 ns/iter 1.01
JSONPath_Descendant_Filter_Nested 1663.2195648768475 ns/iter 1343.1263197269157 ns/iter 1.24
URITemplateRouter_Create 27677.657210984176 ns/iter 29255.49958589625 ns/iter 0.95
URITemplateRouter_Match 230.6267087091831 ns/iter 210.1857995476468 ns/iter 1.10
URITemplateRouter_Match_BasePath 193.63811303102852 ns/iter 248.10010352358384 ns/iter 0.78
URITemplateRouterView_Restore 10051.753285443156 ns/iter 12186.467813412306 ns/iter 0.82
URITemplateRouterView_Match 139.46168427514496 ns/iter 165.79375931413776 ns/iter 0.84
URITemplateRouterView_Match_BasePath 157.16116029578689 ns/iter 168.0800287135003 ns/iter 0.94
URITemplateRouterView_Arguments 543.9103944243005 ns/iter 591.5945831175678 ns/iter 0.92
JSONL_Parse_Large 11087545.203391312 ns/iter 11282328.629031401 ns/iter 0.98
JSONL_Parse_Large_GZIP 12320438.982143855 ns/iter 14558632.298245722 ns/iter 0.85
JSONLD_Catalog_Annotation_List_Populate 954241.9072462891 ns/iter 1241104.9766536527 ns/iter 0.77
JSONLD_Catalog_Materialize 4617151.931972708 ns/iter 7710911.372881174 ns/iter 0.60
HTML_Build_Table_100000 38885304.842102945 ns/iter 55613116.071429305 ns/iter 0.70
HTML_Render_Table_100000 1894245.9138756432 ns/iter 2149159.9403509353 ns/iter 0.88
GZIP_Compress_ISO_Language_Set_3_Locations 28762944.4583312 ns/iter 38633026.49999799 ns/iter 0.74
GZIP_Decompress_ISO_Language_Set_3_Locations 3356759.328358178 ns/iter 4659713.256944858 ns/iter 0.72
GZIP_Compress_ISO_Language_Set_3_Schema 1623667.4652277292 ns/iter 1796456.5417660112 ns/iter 0.90
GZIP_Decompress_ISO_Language_Set_3_Schema 311078.2979194076 ns/iter 371573.51178602607 ns/iter 0.84
JOSE_VerifySignature_RS256 24412.94641217033 ns/iter 26173.929823843147 ns/iter 0.93
JOSE_VerifySignature_ES512 1074667.160237429 ns/iter 1318641.0136055576 ns/iter 0.81

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

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 4d28355 Previous: e989ef3 Ratio
JOSE_VerifySignature_RS256 24615.19711038499 ns/iter 24379.05151807205 ns/iter 1.01
JOSE_VerifySignature_ES512 641530.5573920647 ns/iter 642061.2467890134 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Locations 39685803.1666688 ns/iter 39343319.16666957 ns/iter 1.01
GZIP_Decompress_ISO_Language_Set_3_Locations 4052007.959302273 ns/iter 4082966.421052408 ns/iter 0.99
GZIP_Compress_ISO_Language_Set_3_Schema 2280774.8013028037 ns/iter 2269435.1682848223 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 304990.44088445324 ns/iter 277461.7678571505 ns/iter 1.10
HTML_Build_Table_100000 65645039.90908964 ns/iter 72014036.10000625 ns/iter 0.91
HTML_Render_Table_100000 2181754.8830767917 ns/iter 2106387.130952485 ns/iter 1.04
JSONLD_Catalog_Annotation_List_Populate 1334070.70510393 ns/iter 1327596.606060626 ns/iter 1.00
JSONLD_Catalog_Materialize 6993334.787878924 ns/iter 7174431.559999448 ns/iter 0.97
JSONL_Parse_Large 12716966.509091519 ns/iter 12971320.185186043 ns/iter 0.98
JSONL_Parse_Large_GZIP 14301178.571430478 ns/iter 14339012.102041403 ns/iter 1.00
URITemplateRouter_Create 29610.488918854295 ns/iter 31010.303724182246 ns/iter 0.95
URITemplateRouter_Match 155.305852200583 ns/iter 180.00370353823445 ns/iter 0.86
URITemplateRouter_Match_BasePath 185.98585268702254 ns/iter 181.73654047133527 ns/iter 1.02
URITemplateRouterView_Restore 10004.019326386162 ns/iter 10094.187295035457 ns/iter 0.99
URITemplateRouterView_Match 124.38581482017965 ns/iter 126.34056214963383 ns/iter 0.98
URITemplateRouterView_Match_BasePath 144.23128019348002 ns/iter 140.83741588108015 ns/iter 1.02
URITemplateRouterView_Arguments 464.74159236137893 ns/iter 469.7031207378319 ns/iter 0.99
JSONPath_Descendant_Filter_Nested 1889.067852661037 ns/iter 1791.3481945954643 ns/iter 1.05
Pointer_Object_Traverse 32.739735714605025 ns/iter 32.64840201351752 ns/iter 1.00
Pointer_Object_Try_Traverse 26.754672890965235 ns/iter 26.059281913092168 ns/iter 1.03
Pointer_Push_Back_Pointer_To_Weak_Pointer 169.47949025720362 ns/iter 179.21688333015518 ns/iter 0.95
Pointer_Walker_Schema_ISO_Language 2951737.806584421 ns/iter 2959302.201754342 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/0 1897420.451086873 ns/iter 1887394.8048779713 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/1 1636727.5526933067 ns/iter 1650824.5259433459 ns/iter 0.99
Pointer_Position_Tracker_Get_Deeply_Nested 615.1856591888861 ns/iter 545.2326977321857 ns/iter 1.13
JSON_Array_Of_Objects_Unique 409.82620113869507 ns/iter 416.89774187954197 ns/iter 0.98
JSON_Parse_1 9846.232041233372 ns/iter 9862.111573111366 ns/iter 1.00
JSON_Parse_Real 7520.206855106374 ns/iter 7700.11833048312 ns/iter 0.98
JSON_Parse_Decimal 11089.958738095533 ns/iter 11314.101583861175 ns/iter 0.98
JSON_Parse_Schema_ISO_Language 6856157.873786173 ns/iter 6768379.446600979 ns/iter 1.01
JSON_Parse_Integer 5665.108413959968 ns/iter 5691.267392063679 ns/iter 1.00
JSON_Parse_String_NonSSO_Plain 12583.581611645735 ns/iter 12348.087857621946 ns/iter 1.02
JSON_Parse_String_SSO_Plain 5304.0442285961835 ns/iter 4783.7084927362375 ns/iter 1.11
JSON_Parse_String_Escape_Heavy 24939.344821451155 ns/iter 24988.122234612747 ns/iter 1.00
JSON_Parse_Object_Short_Keys 14546.704414387372 ns/iter 14096.282396777218 ns/iter 1.03
JSON_Parse_Object_Scalar_Properties 7376.302784650289 ns/iter 7168.203496307066 ns/iter 1.03
JSON_Parse_Object_Array_Properties 13122.25231138466 ns/iter 12391.6962729941 ns/iter 1.06
JSON_Parse_Object_Object_Properties 12320.632190176359 ns/iter 12661.324868872745 ns/iter 0.97
JSON_Parse_Nested_Containers 102376.25604573241 ns/iter 108780.24519588337 ns/iter 0.94
JSON_From_String_Copy 19.723609359575068 ns/iter 18.813532792919162 ns/iter 1.05
JSON_From_String_Temporary 16.266781459089337 ns/iter 16.00071647793598 ns/iter 1.02
JSON_Number_To_Double 20.767082007210266 ns/iter 19.706293334842524 ns/iter 1.05
JSON_Object_At_Last_Key/8 4.19629386016289 ns/iter 6.5271856178111385 ns/iter 0.64
JSON_Object_At_Last_Key/32 13.391021889737921 ns/iter 23.575407147393804 ns/iter 0.57
JSON_Object_At_Last_Key/128 47.39479549491529 ns/iter 91.17158189379991 ns/iter 0.52
JSON_Object_At_Last_Key/512 288.80625536556977 ns/iter 377.8360364781577 ns/iter 0.76
JSON_Fast_Hash_Helm_Chart_Lock 74.60483362934295 ns/iter 69.57512249166977 ns/iter 1.07
JSON_Equality_Helm_Chart_Lock 158.33028066356252 ns/iter 155.0989270167672 ns/iter 1.02
JSON_Divisible_By_Decimal 249.23578993239207 ns/iter 252.18477343360942 ns/iter 0.99
JSON_String_Equal/10 5.408358188480619 ns/iter 5.058461323455975 ns/iter 1.07
JSON_String_Equal/100 6.1190710710212874 ns/iter 5.761739347809013 ns/iter 1.06
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7100110892378699 ns/iter 0.7281555030333404 ns/iter 0.98
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 22.053170223864928 ns/iter 22.023617030216684 ns/iter 1.00
JSON_String_Fast_Hash/10 2.4629594212594634 ns/iter 2.4665398204570588 ns/iter 1.00
JSON_String_Fast_Hash/100 2.461200488256298 ns/iter 2.4745668417455704 ns/iter 0.99
JSON_String_Key_Hash/10 1.4072654402620906 ns/iter 1.2049457798323324 ns/iter 1.17
JSON_String_Key_Hash/100 14.760386861504868 ns/iter 14.759503690223463 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.166606149196911 ns/iter 3.1705599904774737 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.515697064135003 ns/iter 3.516020085380847 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.164403657913094 ns/iter 3.1658111205330175 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 0.703273449502179 ns/iter 0.7030605561880805 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.0560406408576397 ns/iter 1.0550308747384356 ns/iter 1.00
Regex_Period_Asterisk 0.703619097228096 ns/iter 0.7038131506541538 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 1.054629453718918 ns/iter 1.08084602746307 ns/iter 0.98
Regex_Period_Plus 0.7039125499736961 ns/iter 0.7032202156730384 ns/iter 1.00
Regex_Period 1.0545466003646158 ns/iter 1.0556565641617282 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 0.7038407509950877 ns/iter 0.7032648527342451 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 1.0556903002135365 ns/iter 1.0615072156432894 ns/iter 0.99
Regex_Caret_Period_Asterisk_Dollar 0.7055931353146313 ns/iter 0.7035326199415295 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.0553505590102898 ns/iter 1.0560435709457452 ns/iter 1.00
Regex_Caret_X_Hyphen 3.515068362636932 ns/iter 3.5147095422580437 ns/iter 1.00
Regex_Period_Md_Dollar 36.71855852661411 ns/iter 36.16976407683294 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 3.8667346391478343 ns/iter 3.8660130313753625 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 1.7573811922133253 ns/iter 1.7595944067665903 ns/iter 1.00
Regex_Nested_Backtrack 42.71484403993381 ns/iter 41.29574830565842 ns/iter 1.03

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

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

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 4d28355 Previous: e989ef3 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2194038009454515 ns/iter 2.179507368796395 ns/iter 1.02
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.4924773036234464 ns/iter 2.4898898030223426 ns/iter 1.00
Regex_Period_Asterisk 2.4939483141926035 ns/iter 2.489718668231488 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.1992240242018632 ns/iter 2.1871182355049203 ns/iter 1.01
Regex_Period_Plus 2.7805728472676536 ns/iter 2.8000559900701156 ns/iter 0.99
Regex_Period 2.814899391769824 ns/iter 3.112422257068232 ns/iter 0.90
Regex_Caret_Period_Plus_Dollar 2.8048093473502256 ns/iter 3.111052571831122 ns/iter 0.90
Regex_Caret_Group_Period_Plus_Group_Dollar 2.492109358065083 ns/iter 2.8012356329014043 ns/iter 0.89
Regex_Caret_Period_Asterisk_Dollar 2.393840035683731 ns/iter 3.4224741094300923 ns/iter 0.70
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.4920727494710735 ns/iter 3.7406431119963965 ns/iter 0.67
Regex_Caret_X_Hyphen 5.928890777256181 ns/iter 6.853241378940381 ns/iter 0.87
Regex_Period_Md_Dollar 28.260739750731794 ns/iter 27.834476563731076 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 5.918946625934302 ns/iter 6.848880748237863 ns/iter 0.86
Regex_Caret_Period_Range_Dollar 4.6689985252845725 ns/iter 4.67384475846191 ns/iter 1.00
Regex_Nested_Backtrack 41.4285831987772 ns/iter 40.81937667150436 ns/iter 1.01
JSON_Array_Of_Objects_Unique 433.70688292384705 ns/iter 395.57934058173515 ns/iter 1.10
JSON_Parse_1 4848.690333151199 ns/iter 4969.547851250649 ns/iter 0.98
JSON_Parse_Real 5449.272782034146 ns/iter 5323.1931794670245 ns/iter 1.02
JSON_Parse_Decimal 8215.587794118954 ns/iter 7510.471218827286 ns/iter 1.09
JSON_Parse_Schema_ISO_Language 3394443.526570171 ns/iter 3620199.309278332 ns/iter 0.94
JSON_Parse_Integer 3708.178551390491 ns/iter 3678.948949627176 ns/iter 1.01
JSON_Parse_String_NonSSO_Plain 4848.35268030166 ns/iter 5129.82353984778 ns/iter 0.95
JSON_Parse_String_SSO_Plain 2682.835743281936 ns/iter 2711.7180976873715 ns/iter 0.99
JSON_Parse_String_Escape_Heavy 14438.382455070005 ns/iter 14503.597097199647 ns/iter 1.00
JSON_Parse_Object_Short_Keys 10250.289301213692 ns/iter 10720.256439312554 ns/iter 0.96
JSON_Parse_Object_Scalar_Properties 4023.431985656323 ns/iter 4332.850723533498 ns/iter 0.93
JSON_Parse_Object_Array_Properties 5660.738843509179 ns/iter 6032.655142182041 ns/iter 0.94
JSON_Parse_Object_Object_Properties 5603.201909422031 ns/iter 5756.6647249026355 ns/iter 0.97
JSON_Parse_Nested_Containers 43962.53190287551 ns/iter 45806.230971133125 ns/iter 0.96
JSON_From_String_Copy 19.328235280813278 ns/iter 20.243572690582145 ns/iter 0.95
JSON_From_String_Temporary 17.145185327241993 ns/iter 18.080345698157025 ns/iter 0.95
JSON_Number_To_Double 23.7474929243598 ns/iter 23.16410909958358 ns/iter 1.03
JSON_Object_At_Last_Key/8 3.824081705256338 ns/iter 3.852198317300094 ns/iter 0.99
JSON_Object_At_Last_Key/32 12.543945395466253 ns/iter 12.162593938517746 ns/iter 1.03
JSON_Object_At_Last_Key/128 48.63457704849643 ns/iter 48.647316039406675 ns/iter 1.00
JSON_Object_At_Last_Key/512 401.06522538550007 ns/iter 399.3933704667653 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 66.35268092880361 ns/iter 58.150656176075756 ns/iter 1.14
JSON_Equality_Helm_Chart_Lock 158.62062120102053 ns/iter 157.6871914198027 ns/iter 1.01
JSON_Divisible_By_Decimal 254.26789729791 ns/iter 251.73769721569445 ns/iter 1.01
JSON_String_Equal/10 5.928603618942951 ns/iter 6.543167091680959 ns/iter 0.91
JSON_String_Equal/100 6.553145354040292 ns/iter 6.2383006002302 ns/iter 1.05
JSON_String_Equal_Small_By_Perfect_Hash/10 0.939614633194712 ns/iter 0.948761578423255 ns/iter 0.99
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.638596861293262 ns/iter 14.924819566277744 ns/iter 0.71
JSON_String_Fast_Hash/10 3.1157272419388806 ns/iter 2.8017347865917737 ns/iter 1.11
JSON_String_Fast_Hash/100 3.11420595299663 ns/iter 2.7997597146567843 ns/iter 1.11
JSON_String_Key_Hash/10 2.182061115774694 ns/iter 2.723998033877862 ns/iter 0.80
JSON_String_Key_Hash/100 6.539709573461826 ns/iter 9.105842118998686 ns/iter 0.72
JSON_Object_Defines_Miss_Same_Length 3.1186008113016124 ns/iter 3.1627578207291562 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 3.4278227468547686 ns/iter 3.4236452036610383 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.8392058557257935 ns/iter 2.703757540385092 ns/iter 1.05
Pointer_Object_Traverse 28.598894712911786 ns/iter 31.07039817939226 ns/iter 0.92
Pointer_Object_Try_Traverse 31.041453448514904 ns/iter 33.11997364847576 ns/iter 0.94
Pointer_Push_Back_Pointer_To_Weak_Pointer 159.6622974795385 ns/iter 221.08862249481913 ns/iter 0.72
Pointer_Walker_Schema_ISO_Language 2563677.2363635497 ns/iter 2582270.172794247 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/0 1262461.8566371638 ns/iter 1291302.8054545477 ns/iter 0.98
Pointer_Maybe_Tracked_Deeply_Nested/1 1598330.9080461 ns/iter 1591622.6164382168 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 676.2149337756031 ns/iter 672.8963991374901 ns/iter 1.00
JSONPath_Descendant_Filter_Nested 1642.1354602128742 ns/iter 1624.0052499575847 ns/iter 1.01
URITemplateRouter_Create 31710.043796934206 ns/iter 34752.52196468419 ns/iter 0.91
URITemplateRouter_Match 175.40739421403845 ns/iter 182.18458610057394 ns/iter 0.96
URITemplateRouter_Match_BasePath 200.70827980227918 ns/iter 206.63859281844876 ns/iter 0.97
URITemplateRouterView_Restore 8479.52108883145 ns/iter 8596.057158593148 ns/iter 0.99
URITemplateRouterView_Match 142.97430514886415 ns/iter 141.95207860492283 ns/iter 1.01
URITemplateRouterView_Match_BasePath 163.07138782840377 ns/iter 161.67253645131677 ns/iter 1.01
URITemplateRouterView_Arguments 430.74785310975744 ns/iter 429.50209644123714 ns/iter 1.00
JSONL_Parse_Large 10109437.188406367 ns/iter 10256135.661764428 ns/iter 0.99
JSONL_Parse_Large_GZIP 11706267.966667384 ns/iter 11958694.694915382 ns/iter 0.98
JSONLD_Catalog_Annotation_List_Populate 1284563.0148149212 ns/iter 1287240.7103320148 ns/iter 1.00
JSONLD_Catalog_Materialize 4350530.9814817235 ns/iter 4540096.145695388 ns/iter 0.96
HTML_Build_Table_100000 63777365.18181171 ns/iter 65357597.18181825 ns/iter 0.98
HTML_Render_Table_100000 5201432.007462285 ns/iter 5894254.627119192 ns/iter 0.88
GZIP_Compress_ISO_Language_Set_3_Locations 33540984.999999207 ns/iter 33633630.9523815 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 4198712.905326022 ns/iter 4388356.738853189 ns/iter 0.96
GZIP_Compress_ISO_Language_Set_3_Schema 1887968.0081079493 ns/iter 1897823.3260870934 ns/iter 0.99
GZIP_Decompress_ISO_Language_Set_3_Schema 356083.83993893844 ns/iter 352511.6173212343 ns/iter 1.01
JOSE_VerifySignature_RS256 58027.71936659931 ns/iter 57035.90442909441 ns/iter 1.02
JOSE_VerifySignature_ES512 2378647.0033898647 ns/iter 2432689.750864773 ns/iter 0.98

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

@jviotti
jviotti merged commit b25f900 into main Aug 1, 2026
12 checks passed
@jviotti
jviotti deleted the ld-fixes branch August 1, 2026 00:26

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 4d28355 Previous: e989ef3 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.4836821428563916 ns/iter 5.374867999998969 ns/iter 1.02
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 5.076644999999189 ns/iter 5.039008000001104 ns/iter 1.01
Regex_Period_Asterisk 5.064170380593957 ns/iter 5.02574500000037 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 5.046855999999025 ns/iter 5.050074000000677 ns/iter 1.00
Regex_Period_Plus 4.858217590369798 ns/iter 4.905516809130903 ns/iter 0.99
Regex_Period 5.126115178571565 ns/iter 5.024548214285979 ns/iter 1.02
Regex_Caret_Period_Plus_Dollar 4.8317589519718345 ns/iter 4.872155135016292 ns/iter 0.99
Regex_Caret_Group_Period_Plus_Group_Dollar 5.07488100000046 ns/iter 5.071295000000191 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 5.454399000000194 ns/iter 5.3953330000013 ns/iter 1.01
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.12788700000101 ns/iter 5.025241999999253 ns/iter 1.02
Regex_Caret_X_Hyphen 8.549954426114278 ns/iter 8.645855318545085 ns/iter 0.99
Regex_Period_Md_Dollar 45.81313798380128 ns/iter 45.50371874999826 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 7.898967633929641 ns/iter 7.865226562499471 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 6.016258035714372 ns/iter 5.97177589285585 ns/iter 1.01
Regex_Nested_Backtrack 57.118142857137045 ns/iter 56.257909999999356 ns/iter 1.02
JSON_Array_Of_Objects_Unique 629.2582142858042 ns/iter 617.9371999999148 ns/iter 1.02
JSON_Parse_1 9080.553658243332 ns/iter 9101.095530822033 ns/iter 1.00
JSON_Parse_Real 16196.938149143112 ns/iter 16109.47528666414 ns/iter 1.01
JSON_Parse_Decimal 11860.745312500143 ns/iter 11991.867857143949 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 8174713.333333885 ns/iter 7953407.777778113 ns/iter 1.03
JSON_Parse_Integer 6355.620535714479 ns/iter 6229.108035715366 ns/iter 1.02
JSON_Parse_String_NonSSO_Plain 7729.103794643167 ns/iter 8403.026562497473 ns/iter 0.92
JSON_Parse_String_SSO_Plain 3605.9169302089645 ns/iter 3842.1509961589113 ns/iter 0.94
JSON_Parse_String_Escape_Heavy 21663.20312499437 ns/iter 21945.718749996955 ns/iter 0.99
JSON_Parse_Object_Short_Keys 13405.142834182448 ns/iter 13445.524127123243 ns/iter 1.00
JSON_Parse_Object_Scalar_Properties 6918.772321427014 ns/iter 6851.815848212896 ns/iter 1.01
JSON_Parse_Object_Array_Properties 11506.778124999784 ns/iter 11443.268749999901 ns/iter 1.01
JSON_Parse_Object_Object_Properties 11665.3484375 ns/iter 11752.08124999827 ns/iter 0.99
JSON_Parse_Nested_Containers 78904.36383929865 ns/iter 79695.40645506195 ns/iter 0.99
JSON_From_String_Copy 65.28831249998542 ns/iter 68.82430803571029 ns/iter 0.95
JSON_From_String_Temporary 58.299071428576454 ns/iter 59.94115999999394 ns/iter 0.97
JSON_Number_To_Double 124.82254687498086 ns/iter 123.91641071429505 ns/iter 1.01
JSON_Object_At_Last_Key/8 7.347337053571173 ns/iter 7.294700892856555 ns/iter 1.01
JSON_Object_At_Last_Key/32 24.26601200595651 ns/iter 23.451439285720102 ns/iter 1.03
JSON_Object_At_Last_Key/128 90.99025040224106 ns/iter 89.67310313957579 ns/iter 1.01
JSON_Object_At_Last_Key/512 432.2123749999207 ns/iter 429.2691874999832 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 106.31621874999553 ns/iter 105.8532274172521 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 250.3533928571804 ns/iter 254.8869285714415 ns/iter 0.98
JSON_Divisible_By_Decimal 304.41364013247585 ns/iter 296.63089323319207 ns/iter 1.03
JSON_String_Equal/10 10.911090625000952 ns/iter 10.87286093749995 ns/iter 1.00
JSON_String_Equal/100 12.180435937498402 ns/iter 12.028503964159176 ns/iter 1.01
JSON_String_Equal_Small_By_Perfect_Hash/10 2.536614642856908 ns/iter 2.5935596428569494 ns/iter 0.98
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.20579464285611 ns/iter 15.137002232142395 ns/iter 0.94
JSON_String_Fast_Hash/10 6.68528125000023 ns/iter 6.616297321428988 ns/iter 1.01
JSON_String_Fast_Hash/100 6.688799107144357 ns/iter 6.66763482142788 ns/iter 1.00
JSON_String_Key_Hash/10 5.348903571428666 ns/iter 5.360588392857071 ns/iter 1.00
JSON_String_Key_Hash/100 12.010296428570657 ns/iter 11.92192499999984 ns/iter 1.01
JSON_Object_Defines_Miss_Same_Length 3.881679635925525 ns/iter 3.7895245535717645 ns/iter 1.02
JSON_Object_Defines_Miss_Too_Small 4.129482507373603 ns/iter 4.172480556172861 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Large 3.8346344866077176 ns/iter 3.7963186383928513 ns/iter 1.01
Pointer_Object_Traverse 70.99283482143092 ns/iter 70.80958928570779 ns/iter 1.00
Pointer_Object_Try_Traverse 73.9677120535528 ns/iter 74.13472098214413 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 188.87342757799468 ns/iter 170.27431497374818 ns/iter 1.11
Pointer_Walker_Schema_ISO_Language 13359635.714286761 ns/iter 12287207.142857628 ns/iter 1.09
Pointer_Maybe_Tracked_Deeply_Nested/0 2493663.636363752 ns/iter 2547507.5892862673 ns/iter 0.98
Pointer_Maybe_Tracked_Deeply_Nested/1 3781889.3048124127 ns/iter 3840016.759776564 ns/iter 0.98
Pointer_Position_Tracker_Get_Deeply_Nested 554.829575892971 ns/iter 567.4036830359037 ns/iter 0.98
JSONPath_Descendant_Filter_Nested 2406.43258210673 ns/iter 2407.401554239335 ns/iter 1.00
URITemplateRouter_Create 41553.88416802748 ns/iter 41278.39359294401 ns/iter 1.01
URITemplateRouter_Match 240.03640178167024 ns/iter 237.0738214285341 ns/iter 1.01
URITemplateRouter_Match_BasePath 292.29846840618796 ns/iter 270.79244289251454 ns/iter 1.08
URITemplateRouterView_Restore 37313.15848213766 ns/iter 36069.09847006286 ns/iter 1.03
URITemplateRouterView_Match 182.19293853970217 ns/iter 177.6183908587814 ns/iter 1.03
URITemplateRouterView_Match_BasePath 205.51187499997073 ns/iter 203.9733932119343 ns/iter 1.01
URITemplateRouterView_Arguments 560.0889285714418 ns/iter 560.3350999999748 ns/iter 1.00
JSONL_Parse_Large 33217347.619039994 ns/iter 33026380.000001155 ns/iter 1.01
JSONL_Parse_Large_GZIP 33506178.94736723 ns/iter 33873136.363643594 ns/iter 0.99
JSONLD_Catalog_Annotation_List_Populate 2866235.742971528 ns/iter 2651681.1244975147 ns/iter 1.08
JSONLD_Catalog_Materialize 11438764.06250044 ns/iter 8960359.99999943 ns/iter 1.28
HTML_Build_Table_100000 92046342.85713707 ns/iter 92455357.14285325 ns/iter 1.00
HTML_Render_Table_100000 8203083.333331859 ns/iter 7901526.666665227 ns/iter 1.04
GZIP_Compress_ISO_Language_Set_3_Locations 38127678.94736393 ns/iter 37055378.94736728 ns/iter 1.03
GZIP_Decompress_ISO_Language_Set_3_Locations 10087194.66666662 ns/iter 10265330.666667674 ns/iter 0.98
GZIP_Compress_ISO_Language_Set_3_Schema 2189157.812500042 ns/iter 2133912.499999724 ns/iter 1.03
GZIP_Decompress_ISO_Language_Set_3_Schema 638824.6428571164 ns/iter 639377.0535715199 ns/iter 1.00
JOSE_VerifySignature_RS256 21527.64687500053 ns/iter 21460.367941501085 ns/iter 1.00
JOSE_VerifySignature_ES512 1550290.8482142782 ns/iter 1557050.4016067386 ns/iter 1.00

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