Skip to content

[WIP] Implement OpenAPI framing support - #2799

Draft
jviotti wants to merge 29 commits into
mainfrom
openapi-simple
Draft

[WIP] Implement OpenAPI framing support#2799
jviotti wants to merge 29 commits into
mainfrom
openapi-simple

Conversation

@jviotti

@jviotti jviotti commented Sep 8, 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>
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: 26efeab Previous: 555819e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.523162662657478 ns/iter 2.520648313810275 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.4917515763546962 ns/iter 2.492154963350404 ns/iter 1.00
Regex_Period_Asterisk 2.4914819340108845 ns/iter 2.4902046571565455 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.49136839252711 ns/iter 2.501630343684446 ns/iter 1.00
Regex_Period_Plus 3.1217641040148822 ns/iter 2.8174989155061447 ns/iter 1.11
Regex_Period 3.1151271666431732 ns/iter 2.8330627582731767 ns/iter 1.10
Regex_Caret_Period_Plus_Dollar 3.1136111422357824 ns/iter 2.8010359334416286 ns/iter 1.11
Regex_Caret_Group_Period_Plus_Group_Dollar 3.1150453641640046 ns/iter 2.801961206642616 ns/iter 1.11
Regex_Caret_Period_Asterisk_Dollar 3.7354309880257643 ns/iter 2.502478164288797 ns/iter 1.49
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.735335111273106 ns/iter 2.5044749035807654 ns/iter 1.49
Regex_Caret_X_Hyphen 6.381717641845321 ns/iter 5.921639383531097 ns/iter 1.08
Regex_Period_Md_Dollar 27.44618312492972 ns/iter 27.464516393882672 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 6.53610098169381 ns/iter 6.537251297352928 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 3.1139854459845213 ns/iter 4.411904434545961 ns/iter 0.71
Regex_Nested_Backtrack 42.73765772660054 ns/iter 43.824185832633255 ns/iter 0.98
JSON_Array_Of_Objects_Unique 455.24218103637025 ns/iter 450.796854207979 ns/iter 1.01
JSON_Parse_1 4475.588037364048 ns/iter 4451.3365265583525 ns/iter 1.01
JSON_Parse_Real 5043.113726134664 ns/iter 5055.3781307402 ns/iter 1.00
JSON_Parse_Decimal 7108.151559498633 ns/iter 7345.52291139373 ns/iter 0.97
JSON_Parse_Schema_ISO_Language 3206177.009216471 ns/iter 3211731.301369818 ns/iter 1.00
JSON_Parse_Integer 3655.778766222738 ns/iter 3651.892651176413 ns/iter 1.00
JSON_Parse_String_NonSSO_Plain 3094.9192525300978 ns/iter 2994.7084026979505 ns/iter 1.03
JSON_Parse_String_SSO_Plain 2646.83127453619 ns/iter 2573.5800502841503 ns/iter 1.03
JSON_Parse_String_Escape_Heavy 12120.308344875222 ns/iter 12029.601750283697 ns/iter 1.01
JSON_Parse_Object_Short_Keys 7993.405121703135 ns/iter 7963.33893093405 ns/iter 1.00
JSON_Parse_Object_Scalar_Properties 4336.286799101902 ns/iter 4071.0306102235672 ns/iter 1.07
JSON_Parse_Object_Array_Properties 5293.671666073933 ns/iter 5321.643962344553 ns/iter 0.99
JSON_Parse_Object_Object_Properties 5282.973524611804 ns/iter 5239.872622366402 ns/iter 1.01
JSON_Parse_Nested_Containers 34593.98104094988 ns/iter 34842.482095853506 ns/iter 0.99
JSON_From_String_Copy 10.95284493248913 ns/iter 11.406957521221914 ns/iter 0.96
JSON_From_String_Temporary 10.290040570675727 ns/iter 9.961338588913934 ns/iter 1.03
JSON_Number_To_Double 22.8773347724607 ns/iter 22.778843880494577 ns/iter 1.00
JSON_Object_At_Last_Key/8 3.9236954872916163 ns/iter 3.92907237672441 ns/iter 1.00
JSON_Object_At_Last_Key/32 12.265552464839285 ns/iter 12.292281569407479 ns/iter 1.00
JSON_Object_At_Last_Key/128 49.27677673654963 ns/iter 49.23623050406591 ns/iter 1.00
JSON_Object_At_Last_Key/512 384.2906507967069 ns/iter 383.0596007056043 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 60.31895944516599 ns/iter 54.461439509967846 ns/iter 1.11
JSON_Equality_Helm_Chart_Lock 158.94214246945583 ns/iter 158.04620006100575 ns/iter 1.01
JSON_Divisible_By_Decimal 251.6830760011248 ns/iter 246.2580835865277 ns/iter 1.02
JSON_String_Equal/10 5.922612010273094 ns/iter 5.925140503570389 ns/iter 1.00
JSON_String_Equal/100 6.555765516802164 ns/iter 6.5486340532325125 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.940268102643996 ns/iter 0.9351937273035424 ns/iter 1.01
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.586519113729915 ns/iter 10.58156944575262 ns/iter 1.00
JSON_String_Fast_Hash/10 2.181016264823211 ns/iter 2.179923742940718 ns/iter 1.00
JSON_String_Fast_Hash/100 2.18084195067408 ns/iter 2.191173555307514 ns/iter 1.00
JSON_String_Key_Hash/10 2.183869503593303 ns/iter 2.1912189442173005 ns/iter 1.00
JSON_String_Key_Hash/100 6.539799680558304 ns/iter 6.537577110730131 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.4396719130199793 ns/iter 3.4231515819273732 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.1260014267868272 ns/iter 2.9600628339169317 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Large 2.7488223855891647 ns/iter 2.6331304569709664 ns/iter 1.04
Pointer_Object_Traverse 28.34778498210045 ns/iter 28.605666730383266 ns/iter 0.99
Pointer_Object_Try_Traverse 30.675887245257307 ns/iter 30.6243315015192 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 147.0850181480428 ns/iter 147.68477194804254 ns/iter 1.00
Pointer_Walker_Schema_ISO_Language 1525982.0353201167 ns/iter 1494137.0521739211 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/0 1277552.9307832096 ns/iter 1282689.450367691 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1656970.5095693364 ns/iter 1660481.3301662563 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 631.3302935067843 ns/iter 630.438380242883 ns/iter 1.00
JSONPath_Descendant_Filter_Nested 1544.3649102904826 ns/iter 1536.284042403736 ns/iter 1.01
URITemplateRouter_Create 23636.07896424912 ns/iter 24235.400436803076 ns/iter 0.98
URITemplateRouter_Match 178.21389260043784 ns/iter 170.91962414079666 ns/iter 1.04
URITemplateRouter_Match_BasePath 208.00130913688926 ns/iter 202.86433681123563 ns/iter 1.03
URITemplateRouterView_Restore 8508.443540647007 ns/iter 8537.283897801648 ns/iter 1.00
URITemplateRouterView_Match 141.83561976899716 ns/iter 142.1560817622488 ns/iter 1.00
URITemplateRouterView_Match_BasePath 162.48515271306718 ns/iter 162.59289095636248 ns/iter 1.00
URITemplateRouterView_Arguments 438.6643197447867 ns/iter 431.0586211049741 ns/iter 1.02
JSONL_Parse_Large 9025495.493506538 ns/iter 9302274.973684257 ns/iter 0.97
JSONL_Parse_Large_GZIP 10557307.848485338 ns/iter 10757300.646153785 ns/iter 0.98
JSONLD_Catalog_Annotation_List_Populate 584801.8188647645 ns/iter 594543.5211505886 ns/iter 0.98
JSONLD_Catalog_Materialize 3424204.2352941865 ns/iter 3439991.803921623 ns/iter 1.00
HTML_Build_Table_100000 57821654.90909495 ns/iter 57518887.54545576 ns/iter 1.01
HTML_Render_Table_100000 1788928.7157621714 ns/iter 1931662.4831460486 ns/iter 0.93
GZIP_Compress_ISO_Language_Set_3_Locations 32700199.136363816 ns/iter 32525619.7272717 ns/iter 1.01
GZIP_Decompress_ISO_Language_Set_3_Locations 4070996.668604647 ns/iter 4050534.947674313 ns/iter 1.01
GZIP_Compress_ISO_Language_Set_3_Schema 1871085.6648936218 ns/iter 1866862.0773332806 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 355567.4091602941 ns/iter 355628.1414090288 ns/iter 1.00
JOSE_VerifySignature_RS256 60401.45041251057 ns/iter 60289.425559380565 ns/iter 1.00
JOSE_VerifySignature_ES512 2446114.1923075924 ns/iter 2421156.055363302 ns/iter 1.01

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: 551b053 Previous: 307253a Ratio
JOSE_VerifySignature_RS256 22167.324085192784 ns/iter 21124.50912736474 ns/iter 1.05
JOSE_VerifySignature_ES512 584393.3695652034 ns/iter 545324.2871595323 ns/iter 1.07
GZIP_Compress_ISO_Language_Set_3_Locations 36815997.78947262 ns/iter 32406903.77272673 ns/iter 1.14
GZIP_Decompress_ISO_Language_Set_3_Locations 4469039.232704307 ns/iter 5021383.484848592 ns/iter 0.89
GZIP_Compress_ISO_Language_Set_3_Schema 2039292.1224490115 ns/iter 2071749.1424332198 ns/iter 0.98
GZIP_Decompress_ISO_Language_Set_3_Schema 382897.2957283591 ns/iter 348085.60517155705 ns/iter 1.10
HTML_Build_Table_100000 56358580.636366576 ns/iter 54754428.90000011 ns/iter 1.03
HTML_Render_Table_100000 2208438.0465837694 ns/iter 2844880.897959117 ns/iter 0.78
JSONLD_Catalog_Annotation_List_Populate 697064.2378048496 ns/iter 671535.6570881308 ns/iter 1.04
JSONLD_Catalog_Materialize 3607788.9739584513 ns/iter 3328320.218009601 ns/iter 1.08
JSONL_Parse_Large 9851444.239436211 ns/iter 9288097.013333451 ns/iter 1.06
JSONL_Parse_Large_GZIP 11188847.48387102 ns/iter 10722967.81538503 ns/iter 1.04
URITemplateRouter_Create 21717.925869754738 ns/iter 18434.716852100537 ns/iter 1.18
URITemplateRouter_Match 157.15852767615385 ns/iter 146.7722387443369 ns/iter 1.07
URITemplateRouter_Match_BasePath 186.10001599577197 ns/iter 165.77170091556772 ns/iter 1.12
URITemplateRouterView_Restore 8517.5235864126 ns/iter 3682.6634270342465 ns/iter 2.31
URITemplateRouterView_Match 123.97948171248788 ns/iter 116.59562772076373 ns/iter 1.06
URITemplateRouterView_Match_BasePath 143.8451739714475 ns/iter 132.27295627205797 ns/iter 1.09
URITemplateRouterView_Arguments 482.41330979581477 ns/iter 541.6550884092952 ns/iter 0.89
JSONPath_Descendant_Filter_Nested 1632.6893499856915 ns/iter 1571.1625067396114 ns/iter 1.04
Pointer_Object_Traverse 23.0187950244494 ns/iter 25.043286691793668 ns/iter 0.92
Pointer_Object_Try_Traverse 25.872937274036268 ns/iter 26.290408966471762 ns/iter 0.98
Pointer_Push_Back_Pointer_To_Weak_Pointer 169.7339381491224 ns/iter 128.25436124059536 ns/iter 1.32
Pointer_Walker_Schema_ISO_Language 1521218.898706937 ns/iter 1736090.1670823107 ns/iter 0.88
Pointer_Maybe_Tracked_Deeply_Nested/0 1243683.6309314943 ns/iter 1184081.7436333122 ns/iter 1.05
Pointer_Maybe_Tracked_Deeply_Nested/1 1695492.4591345845 ns/iter 1939105.3833332863 ns/iter 0.87
Pointer_Position_Tracker_Get_Deeply_Nested 589.0993990928116 ns/iter 623.7529411442937 ns/iter 0.94
JSON_Array_Of_Objects_Unique 464.29603113794553 ns/iter 412.9048521144397 ns/iter 1.12
JSON_Parse_1 5772.385652040844 ns/iter 4796.112355336047 ns/iter 1.20
JSON_Parse_Real 5559.063293240266 ns/iter 4901.035785847448 ns/iter 1.13
JSON_Parse_Decimal 10460.332591918568 ns/iter 7765.6320263108055 ns/iter 1.35
JSON_Parse_Schema_ISO_Language 3671992.7578946897 ns/iter 3384313.7766989986 ns/iter 1.09
JSON_Parse_Integer 3777.358013429385 ns/iter 3602.478932960173 ns/iter 1.05
JSON_Parse_String_NonSSO_Plain 3479.006280270249 ns/iter 3351.9925378849643 ns/iter 1.04
JSON_Parse_String_SSO_Plain 2994.8158788193596 ns/iter 2587.686193313138 ns/iter 1.16
JSON_Parse_String_Escape_Heavy 16966.039427740554 ns/iter 15963.069536499284 ns/iter 1.06
JSON_Parse_Object_Short_Keys 8573.337237677095 ns/iter 7761.881524459389 ns/iter 1.10
JSON_Parse_Object_Scalar_Properties 4401.768920826936 ns/iter 3915.1280097960516 ns/iter 1.12
JSON_Parse_Object_Array_Properties 6919.2379346029775 ns/iter 5615.821101727825 ns/iter 1.23
JSON_Parse_Object_Object_Properties 6993.339226110793 ns/iter 5540.633840047959 ns/iter 1.26
JSON_Parse_Nested_Containers 42737.28852619239 ns/iter 35361.138439771945 ns/iter 1.21
JSON_From_String_Copy 8.582480585916397 ns/iter 7.777571770547034 ns/iter 1.10
JSON_From_String_Temporary 7.698790815936714 ns/iter 7.2586064657036165 ns/iter 1.06
JSON_Number_To_Double 19.998949814473267 ns/iter 19.471846940483566 ns/iter 1.03
JSON_Object_At_Last_Key/8 5.6163099879452965 ns/iter 5.934625667717926 ns/iter 0.95
JSON_Object_At_Last_Key/32 21.823156629084874 ns/iter 19.59423966839971 ns/iter 1.11
JSON_Object_At_Last_Key/128 87.64474944686192 ns/iter 74.95884725229267 ns/iter 1.17
JSON_Object_At_Last_Key/512 392.31887605326267 ns/iter 304.56299502901174 ns/iter 1.29
JSON_Fast_Hash_Helm_Chart_Lock 75.60551360561142 ns/iter 64.41990930415045 ns/iter 1.17
JSON_Equality_Helm_Chart_Lock 156.23370930074532 ns/iter 126.13094210760553 ns/iter 1.24
JSON_Divisible_By_Decimal 280.83058531571123 ns/iter 273.91439296509776 ns/iter 1.03
JSON_String_Equal/10 5.063925531546742 ns/iter 4.434693042407398 ns/iter 1.14
JSON_String_Equal/100 5.861235048865435 ns/iter 7.507871186136169 ns/iter 0.78
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6235231619273911 ns/iter 0.8257918412646853 ns/iter 0.76
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.21644599801655 ns/iter 17.01464641173116 ns/iter 1.48
JSON_String_Fast_Hash/10 3.1696662138043226 ns/iter 3.091875619448593 ns/iter 1.03
JSON_String_Fast_Hash/100 3.163567255293779 ns/iter 3.097594517319751 ns/iter 1.02
JSON_String_Key_Hash/10 1.2475226750318087 ns/iter 1.4431988659208619 ns/iter 0.86
JSON_String_Key_Hash/100 12.453749857995094 ns/iter 11.840237035888435 ns/iter 1.05
JSON_Object_Defines_Miss_Same_Length 3.113797547286497 ns/iter 2.9153684054553692 ns/iter 1.07
JSON_Object_Defines_Miss_Too_Small 3.515475049728266 ns/iter 3.429351730183524 ns/iter 1.03
JSON_Object_Defines_Miss_Too_Large 3.2115046978540507 ns/iter 2.9032866446745698 ns/iter 1.11
Regex_Lower_S_Or_Upper_S_Asterisk 0.641793767986458 ns/iter 0.86505946018048 ns/iter 0.74
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.6442413974405843 ns/iter 0.8644839328625109 ns/iter 0.75
Regex_Period_Asterisk 0.62798593073746 ns/iter 0.8653812215636244 ns/iter 0.73
Regex_Group_Period_Asterisk_Group 0.6232263984046023 ns/iter 0.8650437104189088 ns/iter 0.72
Regex_Period_Plus 0.6238317916545768 ns/iter 0.8652434728587546 ns/iter 0.72
Regex_Period 0.6590514644760381 ns/iter 0.8645817338302227 ns/iter 0.76
Regex_Caret_Period_Plus_Dollar 0.6235159417771087 ns/iter 0.8648171469886242 ns/iter 0.72
Regex_Caret_Group_Period_Plus_Group_Dollar 0.6240073560824225 ns/iter 0.8654462471597625 ns/iter 0.72
Regex_Caret_Period_Asterisk_Dollar 0.6247850150854573 ns/iter 0.8649036695385133 ns/iter 0.72
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.6246479442326538 ns/iter 0.8654057185754322 ns/iter 0.72
Regex_Caret_X_Hyphen 3.740995237848763 ns/iter 2.8843426716890006 ns/iter 1.30
Regex_Period_Md_Dollar 29.383752970969294 ns/iter 22.69091451563375 ns/iter 1.29
Regex_Caret_Slash_Period_Asterisk 4.047347572846338 ns/iter 2.8836638765671814 ns/iter 1.40
Regex_Caret_Period_Range_Dollar 1.2495465097022784 ns/iter 1.4408901724973875 ns/iter 0.87
Regex_Nested_Backtrack 38.11462712038758 ns/iter 37.346838230203616 ns/iter 1.02

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 (windows/msvc)

Details
Benchmark suite Current: 551b053 Previous: 307253a Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.108597999999915 ns/iter 2.617790357142878 ns/iter 1.95
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 5.022821999999678 ns/iter 2.6217377208736132 ns/iter 1.92
Regex_Period_Asterisk 5.041338999999994 ns/iter 2.5698617857143193 ns/iter 1.96
Regex_Group_Period_Asterisk_Group 5.083242000000041 ns/iter 2.6116439708824415 ns/iter 1.95
Regex_Period_Plus 5.0675730000000385 ns/iter 2.900379683615522 ns/iter 1.75
Regex_Period 5.022778999999673 ns/iter 2.6353953994326185 ns/iter 1.91
Regex_Caret_Period_Plus_Dollar 5.227707000000237 ns/iter 2.803769774282196 ns/iter 1.86
Regex_Caret_Group_Period_Plus_Group_Dollar 5.024910999999861 ns/iter 2.9395162907059955 ns/iter 1.71
Regex_Caret_Period_Asterisk_Dollar 5.06069000000025 ns/iter 2.7250578770312 ns/iter 1.86
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.021869000000265 ns/iter 2.645095644959814 ns/iter 1.90
Regex_Caret_X_Hyphen 8.331601562499966 ns/iter 6.543028571428521 ns/iter 1.27
Regex_Period_Md_Dollar 46.91113026621834 ns/iter 30.9553660714279 ns/iter 1.52
Regex_Caret_Slash_Period_Asterisk 7.8474866071427085 ns/iter 6.567862723213683 ns/iter 1.19
Regex_Caret_Period_Range_Dollar 5.6526214285713845 ns/iter 3.142487183291524 ns/iter 1.80
Regex_Nested_Backtrack 57.926169642854575 ns/iter 42.85303086744762 ns/iter 1.35
JSON_Array_Of_Objects_Unique 574.054799999999 ns/iter 518.3275999999637 ns/iter 1.11
JSON_Parse_1 9096.750907362668 ns/iter 8461.63633198047 ns/iter 1.08
JSON_Parse_Real 16016.173545804515 ns/iter 12505.585714285822 ns/iter 1.28
JSON_Parse_Decimal 11843.626785714077 ns/iter 9210.395089285861 ns/iter 1.29
JSON_Parse_Schema_ISO_Language 7782981.111111237 ns/iter 8184676.000000005 ns/iter 0.95
JSON_Parse_Integer 6269.868750000082 ns/iter 4615.784856662832 ns/iter 1.36
JSON_Parse_String_NonSSO_Plain 8886.580417051451 ns/iter 9657.56696428599 ns/iter 0.92
JSON_Parse_String_SSO_Plain 3874.3607600700316 ns/iter 3038.1459821430412 ns/iter 1.28
JSON_Parse_String_Escape_Heavy 22741.68749999994 ns/iter 23284.772491378935 ns/iter 0.98
JSON_Parse_Object_Short_Keys 13112.82142857197 ns/iter 10427.045312500382 ns/iter 1.26
JSON_Parse_Object_Scalar_Properties 6909.633928571627 ns/iter 6026.326496719882 ns/iter 1.15
JSON_Parse_Object_Array_Properties 11529.48437500001 ns/iter 9792.161195708479 ns/iter 1.18
JSON_Parse_Object_Object_Properties 11702.99107142877 ns/iter 9505.611582090769 ns/iter 1.23
JSON_Parse_Nested_Containers 80119.05133928593 ns/iter 65671.89285714648 ns/iter 1.22
JSON_From_String_Copy 64.02509821428839 ns/iter 49.706001676076546 ns/iter 1.29
JSON_From_String_Temporary 57.624321428570674 ns/iter 58.35402000000158 ns/iter 0.99
JSON_Number_To_Double 119.64162499999988 ns/iter 91.38993342009447 ns/iter 1.31
JSON_Object_At_Last_Key/8 7.685127232143048 ns/iter 7.667637276786035 ns/iter 1.00
JSON_Object_At_Last_Key/32 23.505023175167203 ns/iter 19.19430293563825 ns/iter 1.22
JSON_Object_At_Last_Key/128 90.55320131459214 ns/iter 92.6967547903257 ns/iter 0.98
JSON_Object_At_Last_Key/512 428.18529235037886 ns/iter 334.7926929363373 ns/iter 1.28
JSON_Fast_Hash_Helm_Chart_Lock 104.50804687500259 ns/iter 76.96814732142596 ns/iter 1.36
JSON_Equality_Helm_Chart_Lock 213.0688007558465 ns/iter 218.8042187499839 ns/iter 0.97
JSON_Divisible_By_Decimal 307.3835773009413 ns/iter 269.8904743425916 ns/iter 1.14
JSON_String_Equal/10 10.411500000000018 ns/iter 9.666414062500017 ns/iter 1.08
JSON_String_Equal/100 11.875249999999735 ns/iter 13.045951785714344 ns/iter 0.91
JSON_String_Equal_Small_By_Perfect_Hash/10 2.537086428571505 ns/iter 1.5514195312499979 ns/iter 1.64
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.107787946428024 ns/iter 12.492328125000007 ns/iter 1.21
JSON_String_Fast_Hash/10 6.637693080357364 ns/iter 4.975475889941144 ns/iter 1.33
JSON_String_Fast_Hash/100 6.717871651785882 ns/iter 4.056155133928462 ns/iter 1.66
JSON_String_Key_Hash/10 5.411791999999878 ns/iter 3.7496997486053236 ns/iter 1.44
JSON_String_Key_Hash/100 11.900921875000137 ns/iter 8.673103086279546 ns/iter 1.37
JSON_Object_Defines_Miss_Same_Length 4.718220759981569 ns/iter 4.8794242198394775 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Small 4.714144398373818 ns/iter 5.073383999999805 ns/iter 0.93
JSON_Object_Defines_Miss_Too_Large 4.748904921314411 ns/iter 4.927324000000226 ns/iter 0.96
Pointer_Object_Traverse 70.68849330357071 ns/iter 42.6442437499972 ns/iter 1.66
Pointer_Object_Try_Traverse 72.04568750000006 ns/iter 45.443912317465184 ns/iter 1.59
Pointer_Push_Back_Pointer_To_Weak_Pointer 163.51729910715207 ns/iter 164.05212036061792 ns/iter 1.00
Pointer_Walker_Schema_ISO_Language 11699712.49999957 ns/iter 10402103.124999229 ns/iter 1.12
Pointer_Maybe_Tracked_Deeply_Nested/0 2533838.5714286054 ns/iter 2242921.212121363 ns/iter 1.13
Pointer_Maybe_Tracked_Deeply_Nested/1 3712007.8212288646 ns/iter 3905851.39664813 ns/iter 0.95
Pointer_Position_Tracker_Get_Deeply_Nested 590.2783482143142 ns/iter 552.4101562499288 ns/iter 1.07
JSONPath_Descendant_Filter_Nested 2403.1479875580144 ns/iter 1741.139481379695 ns/iter 1.38
URITemplateRouter_Create 40725.432411257665 ns/iter 36150.96694701925 ns/iter 1.13
URITemplateRouter_Match 237.3985714285709 ns/iter 263.4877550664341 ns/iter 0.90
URITemplateRouter_Match_BasePath 270.75810137314625 ns/iter 293.40500743245286 ns/iter 0.92
URITemplateRouterView_Restore 33391.0326723874 ns/iter 18592.207966141526 ns/iter 1.80
URITemplateRouterView_Match 182.02134660904076 ns/iter 181.15957686336836 ns/iter 1.00
URITemplateRouterView_Match_BasePath 204.7449999999884 ns/iter 212.1850624999766 ns/iter 0.96
URITemplateRouterView_Arguments 546.8599107143035 ns/iter 457.1760739706366 ns/iter 1.20
JSONL_Parse_Large 32837009.523808274 ns/iter 34660420.000000164 ns/iter 0.95
JSONL_Parse_Large_GZIP 33852290.00000152 ns/iter 34272238.09523553 ns/iter 0.99
JSONLD_Catalog_Annotation_List_Populate 3116392.957746433 ns/iter 2922060.5932204947 ns/iter 1.07
JSONLD_Catalog_Materialize 8819026.66666671 ns/iter 6916630.357143357 ns/iter 1.28
HTML_Build_Table_100000 92872999.99999733 ns/iter 98833742.8571445 ns/iter 0.94
HTML_Render_Table_100000 7866180.000000138 ns/iter 12488005.357143704 ns/iter 0.63
GZIP_Compress_ISO_Language_Set_3_Locations 37024484.21052838 ns/iter 31930936.363639 ns/iter 1.16
GZIP_Decompress_ISO_Language_Set_3_Locations 9883632.000000186 ns/iter 11713094.642857414 ns/iter 0.84
GZIP_Compress_ISO_Language_Set_3_Schema 2114661.449275485 ns/iter 1980188.2037531515 ns/iter 1.07
GZIP_Decompress_ISO_Language_Set_3_Schema 646992.8571428441 ns/iter 686351.4508928604 ns/iter 0.94
JOSE_VerifySignature_RS256 21228.07730253603 ns/iter 19414.598344627855 ns/iter 1.09
JOSE_VerifySignature_ES512 1370670.481927769 ns/iter 1045495.3125000444 ns/iter 1.31

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
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 (macos/llvm)

Details
Benchmark suite Current: 26efeab Previous: 555819e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.304712778285275 ns/iter 1.8764544462607737 ns/iter 1.23
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.848765875498225 ns/iter 1.8523876600535336 ns/iter 1.54
Regex_Period_Asterisk 2.38928639183407 ns/iter 1.979928752368713 ns/iter 1.21
Regex_Group_Period_Asterisk_Group 2.0366002620424983 ns/iter 1.9396399973352507 ns/iter 1.05
Regex_Period_Plus 2.528991905643417 ns/iter 2.3118838578917345 ns/iter 1.09
Regex_Period 3.0331278021571055 ns/iter 2.2644054622325585 ns/iter 1.34
Regex_Caret_Period_Plus_Dollar 3.1546209737052004 ns/iter 2.3860045944539796 ns/iter 1.32
Regex_Caret_Group_Period_Plus_Group_Dollar 3.917235764210493 ns/iter 2.227797364641488 ns/iter 1.76
Regex_Caret_Period_Asterisk_Dollar 3.2697230419317274 ns/iter 1.8400281751882706 ns/iter 1.78
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.888823028986874 ns/iter 2.0185613843550634 ns/iter 1.43
Regex_Caret_X_Hyphen 9.629321125397016 ns/iter 7.295261542223797 ns/iter 1.32
Regex_Period_Md_Dollar 37.22722366918948 ns/iter 23.64120284044929 ns/iter 1.57
Regex_Caret_Slash_Period_Asterisk 9.357456888904052 ns/iter 4.9482427784847465 ns/iter 1.89
Regex_Caret_Period_Range_Dollar 3.804641786497095 ns/iter 2.1223790279703882 ns/iter 1.79
Regex_Nested_Backtrack 43.19241546784077 ns/iter 32.88852192446522 ns/iter 1.31
JSON_Array_Of_Objects_Unique 664.175749999913 ns/iter 403.3651659573707 ns/iter 1.65
JSON_Parse_1 6095.209854440123 ns/iter 3493.6326159078785 ns/iter 1.74
JSON_Parse_Real 7760.75554728475 ns/iter 5743.340042833094 ns/iter 1.35
JSON_Parse_Decimal 8615.845369918756 ns/iter 6291.313644438914 ns/iter 1.37
JSON_Parse_Schema_ISO_Language 5198671.012269544 ns/iter 2219229.164335378 ns/iter 2.34
JSON_Parse_Integer 7803.847543577255 ns/iter 3543.023575163489 ns/iter 2.20
JSON_Parse_String_NonSSO_Plain 7016.547825120208 ns/iter 3166.763882407422 ns/iter 2.22
JSON_Parse_String_SSO_Plain 3654.928699276032 ns/iter 2375.4144746364655 ns/iter 1.54
JSON_Parse_String_Escape_Heavy 23113.0302577114 ns/iter 19373.389458152396 ns/iter 1.19
JSON_Parse_Object_Short_Keys 8379.569952980706 ns/iter 5923.994363750124 ns/iter 1.41
JSON_Parse_Object_Scalar_Properties 4270.593399273381 ns/iter 2792.172313154382 ns/iter 1.53
JSON_Parse_Object_Array_Properties 5103.427375095589 ns/iter 3743.210868752348 ns/iter 1.36
JSON_Parse_Object_Object_Properties 5075.208741001083 ns/iter 4488.7886193308495 ns/iter 1.13
JSON_Parse_Nested_Containers 30158.77432526398 ns/iter 28272.612995384665 ns/iter 1.07
JSON_From_String_Copy 15.396129543882054 ns/iter 11.96505995236014 ns/iter 1.29
JSON_From_String_Temporary 11.034314537981619 ns/iter 6.715896828475788 ns/iter 1.64
JSON_Number_To_Double 67.50030668935784 ns/iter 37.22129735651696 ns/iter 1.81
JSON_Object_At_Last_Key/8 8.283741128031314 ns/iter 4.73089248378541 ns/iter 1.75
JSON_Object_At_Last_Key/32 26.158967553050108 ns/iter 14.079435638681678 ns/iter 1.86
JSON_Object_At_Last_Key/128 107.29585802138575 ns/iter 73.83569085154896 ns/iter 1.45
JSON_Object_At_Last_Key/512 264.5160302733481 ns/iter 207.88735678609112 ns/iter 1.27
JSON_Fast_Hash_Helm_Chart_Lock 77.79214131596169 ns/iter 65.08394949580317 ns/iter 1.20
JSON_Equality_Helm_Chart_Lock 253.227744781955 ns/iter 192.6724510070779 ns/iter 1.31
JSON_Divisible_By_Decimal 269.24561374531976 ns/iter 199.09530457133138 ns/iter 1.35
JSON_String_Equal/10 10.344865317486173 ns/iter 7.1612913959623015 ns/iter 1.44
JSON_String_Equal/100 10.641004297393872 ns/iter 7.587493371745841 ns/iter 1.40
JSON_String_Equal_Small_By_Perfect_Hash/10 0.5185993781194328 ns/iter 0.3698955868657911 ns/iter 1.40
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 6.4040752593185335 ns/iter 3.6627113277068073 ns/iter 1.75
JSON_String_Fast_Hash/10 4.078051138831214 ns/iter 2.7587290523442225 ns/iter 1.48
JSON_String_Fast_Hash/100 3.3440014185610134 ns/iter 2.200204528259719 ns/iter 1.52
JSON_String_Key_Hash/10 3.1299624725272746 ns/iter 1.7875733336898645 ns/iter 1.75
JSON_String_Key_Hash/100 4.693579798615603 ns/iter 2.805596526014281 ns/iter 1.67
JSON_Object_Defines_Miss_Same_Length 3.916591880724645 ns/iter 3.1364627956815543 ns/iter 1.25
JSON_Object_Defines_Miss_Too_Small 3.558338797189322 ns/iter 3.839534529649303 ns/iter 0.93
JSON_Object_Defines_Miss_Too_Large 3.660847369330269 ns/iter 2.929311861825142 ns/iter 1.25
Pointer_Object_Traverse 23.45764026038346 ns/iter 21.631146989176596 ns/iter 1.08
Pointer_Object_Try_Traverse 47.31498940884534 ns/iter 35.52099688537521 ns/iter 1.33
Pointer_Push_Back_Pointer_To_Weak_Pointer 175.7132318044734 ns/iter 164.80852860068757 ns/iter 1.07
Pointer_Walker_Schema_ISO_Language 1790624.4429529684 ns/iter 1698128.9264369227 ns/iter 1.05
Pointer_Maybe_Tracked_Deeply_Nested/0 1096274.8148149666 ns/iter 963645.4190341033 ns/iter 1.14
Pointer_Maybe_Tracked_Deeply_Nested/1 1499636.4999999215 ns/iter 1236215.968404396 ns/iter 1.21
Pointer_Position_Tracker_Get_Deeply_Nested 561.1671555114012 ns/iter 503.3201117274184 ns/iter 1.11
JSONPath_Descendant_Filter_Nested 2235.110906330597 ns/iter 1369.3401778616355 ns/iter 1.63
URITemplateRouter_Create 23965.920446897082 ns/iter 26735.343389126 ns/iter 0.90
URITemplateRouter_Match 219.71908810328117 ns/iter 216.6225196278499 ns/iter 1.01
URITemplateRouter_Match_BasePath 241.12537326516923 ns/iter 264.684934868866 ns/iter 0.91
URITemplateRouterView_Restore 13849.665379325179 ns/iter 15439.065988250639 ns/iter 0.90
URITemplateRouterView_Match 150.69710062385997 ns/iter 198.14987513449262 ns/iter 0.76
URITemplateRouterView_Match_BasePath 192.47896360204817 ns/iter 205.20228851792322 ns/iter 0.94
URITemplateRouterView_Arguments 647.8928607603848 ns/iter 707.8763377177683 ns/iter 0.92
JSONL_Parse_Large 7900890.011630381 ns/iter 10148534.935484027 ns/iter 0.78
JSONL_Parse_Large_GZIP 9099615.38461455 ns/iter 10243555.343750544 ns/iter 0.89
JSONLD_Catalog_Annotation_List_Populate 651337.468592938 ns/iter 815454.8026634965 ns/iter 0.80
JSONLD_Catalog_Materialize 2934029.4210525923 ns/iter 3740666.884816893 ns/iter 0.78
HTML_Build_Table_100000 73649149.99998291 ns/iter 60020080.07692439 ns/iter 1.23
HTML_Render_Table_100000 3203821.261682801 ns/iter 2771965.924398735 ns/iter 1.16
GZIP_Compress_ISO_Language_Set_3_Locations 43020565.50000089 ns/iter 38855109.68421171 ns/iter 1.11
GZIP_Decompress_ISO_Language_Set_3_Locations 5181347.920001826 ns/iter 5141677.16030512 ns/iter 1.01
GZIP_Compress_ISO_Language_Set_3_Schema 2565816.6088434113 ns/iter 2217620.487261281 ns/iter 1.16
GZIP_Decompress_ISO_Language_Set_3_Schema 371860.83778718335 ns/iter 402426.13765176485 ns/iter 0.92
JOSE_VerifySignature_RS256 31056.078437626402 ns/iter 33875.141368764766 ns/iter 0.92
JOSE_VerifySignature_ES512 1390771.4723927246 ns/iter 1420132.0873563867 ns/iter 0.98

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
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