Skip to content

Support string views when parsing JSON Pointers#2372

Merged
jviotti merged 1 commit intomainfrom
pointer-string-view
May 8, 2026
Merged

Support string views when parsing JSON Pointers#2372
jviotti merged 1 commit intomainfrom
pointer-string-view

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 8, 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 3 files

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 8, 2026

🤖 Augment PR Summary

Summary: This PR updates JSON Pointer parsing to accept non-owning string inputs.

Changes:

  • Replaces the public to_pointer overload that took a std::basic_string with one that takes a std::basic_string_view
  • Updates the implementation to materialize a temporary std::basic_string to feed the existing stream-based parser
  • Adds unit tests covering std::string_view inputs, including subviews and a default-constructed (empty) view

Technical Notes: The new API enables parsing from substrings without requiring callers to allocate an owning string first (the parser still copies internally to build an istringstream).

🤖 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/jsonpointer/include/sourcemeta/core/jsonpointer.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 (linux/llvm)

Details
Benchmark suite Current: 297dcf2 Previous: b267bc8 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.178810059068196 ns/iter 2.1825122408171818 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1818320627000394 ns/iter 2.2033225064901876 ns/iter 0.99
Regex_Period_Asterisk 2.178192223564437 ns/iter 2.1845092039075404 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.179192157496583 ns/iter 2.1946249641075366 ns/iter 0.99
Regex_Period_Plus 2.8023733890830376 ns/iter 2.5879382704409783 ns/iter 1.08
Regex_Period 3.1123095132363483 ns/iter 2.800740545802782 ns/iter 1.11
Regex_Caret_Period_Plus_Dollar 2.802815345851287 ns/iter 2.679975381133679 ns/iter 1.05
Regex_Caret_Group_Period_Plus_Group_Dollar 3.1231718038015943 ns/iter 2.804637051520626 ns/iter 1.11
Regex_Caret_Period_Asterisk_Dollar 2.7359556358634674 ns/iter 2.1907025931855717 ns/iter 1.25
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.179949860339159 ns/iter 2.4911885986917444 ns/iter 0.88
Regex_Caret_X_Hyphen 5.607945910599745 ns/iter 6.54469462125121 ns/iter 0.86
Regex_Period_Md_Dollar 29.074019240758744 ns/iter 27.61167707588847 ns/iter 1.05
Regex_Caret_Slash_Period_Asterisk 5.927809024100011 ns/iter 6.847928892663993 ns/iter 0.87
Regex_Caret_Period_Range_Dollar 3.735076254628836 ns/iter 3.7362465585717675 ns/iter 1.00
Regex_Nested_Backtrack 37.79250567390608 ns/iter 36.786051891085314 ns/iter 1.03
JSON_Array_Of_Objects_Unique 419.6137455194791 ns/iter 423.2270002485279 ns/iter 0.99
JSON_Parse_1 5814.692391871932 ns/iter 5937.862805934339 ns/iter 0.98
JSON_Parse_Real 11269.354946275535 ns/iter 11150.267051475897 ns/iter 1.01
JSON_Parse_Decimal 11591.82898113971 ns/iter 11415.082932337727 ns/iter 1.02
JSON_Parse_Schema_ISO_Language 3702181.3597877757 ns/iter 3708305.354497276 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 60.40893437083709 ns/iter 60.41969826094257 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 159.04774529687393 ns/iter 171.1233282371323 ns/iter 0.93
JSON_Divisible_By_Decimal 254.8463496831584 ns/iter 249.18480130942203 ns/iter 1.02
JSON_String_Equal/10 5.938421886121966 ns/iter 5.930765513660318 ns/iter 1.00
JSON_String_Equal/100 6.541371928903126 ns/iter 6.56970831459328 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9366713518916339 ns/iter 0.9359003872864334 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.628733037526867 ns/iter 10.27094919489437 ns/iter 1.42
JSON_String_Fast_Hash/10 2.8048760048800228 ns/iter 2.8040118661700153 ns/iter 1.00
JSON_String_Fast_Hash/100 2.80250345683728 ns/iter 2.8098618356119824 ns/iter 1.00
JSON_String_Key_Hash/10 2.5458397622410107 ns/iter 2.1833870940774474 ns/iter 1.17
JSON_String_Key_Hash/100 9.034497173087022 ns/iter 6.536668062624305 ns/iter 1.38
JSON_Object_Defines_Miss_Same_Length 3.7386307728472095 ns/iter 3.7415290697522345 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7428015736336704 ns/iter 3.7460426386113417 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.8924541808636772 ns/iter 3.740285758793604 ns/iter 1.04
Pointer_Object_Traverse 24.13016202200477 ns/iter 23.937022383534668 ns/iter 1.01
Pointer_Object_Try_Traverse 27.9040878382759 ns/iter 27.876766890013904 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 190.82557027753157 ns/iter 181.70780218007275 ns/iter 1.05
Pointer_Walker_Schema_ISO_Language 3039002.3056766815 ns/iter 3084695.109649011 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/0 1399275.5948102837 ns/iter 1399496.929999941 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1835113.044736964 ns/iter 1928852.5594591904 ns/iter 0.95
Pointer_Position_Tracker_Get_Deeply_Nested 632.0235056610491 ns/iter 648.879062487888 ns/iter 0.97
Schema_Frame_WoT_References 5170005.507353307 ns/iter 5220326.395522758 ns/iter 0.99
Schema_Frame_OMC_References 22552082.84374888 ns/iter 21273153.54545262 ns/iter 1.06
Schema_Frame_OMC_Locations 20987446.882352687 ns/iter 19597755.666669376 ns/iter 1.07
Schema_Frame_ISO_Language_Locations 104562238.50000393 ns/iter 97750890.49999982 ns/iter 1.07
Schema_Frame_KrakenD_References 42549799.6874995 ns/iter 38146549.66666669 ns/iter 1.12
Schema_Frame_KrakenD_Reachable 597281230.0001351 ns/iter 556363896.999983 ns/iter 1.07
Schema_Iterator_ISO_Language 2975425.9188033426 ns/iter 3044367.465217775 ns/iter 0.98
Schema_Frame_ISO_Language_Locations_To_JSON 114119608.399983 ns/iter 111843108.19999154 ns/iter 1.02
Schema_Tracker_ISO_Language 5215155.045112296 ns/iter 5005858.45000046 ns/iter 1.04
Schema_Tracker_ISO_Language_To_JSON 19906819.42857009 ns/iter 19183428.388888363 ns/iter 1.04
Schema_Format_ISO_Language_To_JSON 112307374.33330281 ns/iter 104660361.14287038 ns/iter 1.07
Schema_Bundle_Meta_2020_12 1672799.0959221465 ns/iter 1714355.3398520013 ns/iter 0.98
Schema_Frame_Many_Resources_References 382448936.4999977 ns/iter 374473994.50002193 ns/iter 1.02
EditorSchema_ForEditor_EmbeddedResources 13939562.306126278 ns/iter 14016013.140001178 ns/iter 0.99
URITemplateRouter_Create 19549.265423045137 ns/iter 19256.689280026385 ns/iter 1.02
URITemplateRouter_Match 175.78302899118526 ns/iter 172.55174120689816 ns/iter 1.02
URITemplateRouter_Match_BasePath 202.9621949536599 ns/iter 198.9413457410445 ns/iter 1.02
URITemplateRouterView_Restore 5141.126641063291 ns/iter 5226.927548913542 ns/iter 0.98
URITemplateRouterView_Match 142.40988475268495 ns/iter 147.58470544380927 ns/iter 0.96
URITemplateRouterView_Match_BasePath 162.29287216238305 ns/iter 166.68141050508393 ns/iter 0.97
URITemplateRouterView_Arguments 426.62489137140574 ns/iter 469.54055593760364 ns/iter 0.91
JSONL_Parse_Large 10924368.421875386 ns/iter 11527197.409836695 ns/iter 0.95
JSONL_Parse_Large_GZIP 12151259.034481129 ns/iter 12332861.157895485 ns/iter 0.99
HTML_Build_Table_100000 63658663.54545605 ns/iter 74977403.8181799 ns/iter 0.85
HTML_Render_Table_100000 5273034.507462765 ns/iter 5746096.661017279 ns/iter 0.92

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: 297dcf2 Previous: b267bc8 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 8.819901785714583 ns/iter 7.511570312500128 ns/iter 1.17
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 8.892870535713065 ns/iter 7.512944196427387 ns/iter 1.18
Regex_Period_Asterisk 8.815619157073531 ns/iter 7.536310267859391 ns/iter 1.17
Regex_Group_Period_Asterisk_Group 8.8301303177237 ns/iter 7.499930803570112 ns/iter 1.18
Regex_Period_Plus 11.28642499999799 ns/iter 9.673628125000278 ns/iter 1.17
Regex_Period 11.283462499999786 ns/iter 9.67316245681561 ns/iter 1.17
Regex_Caret_Period_Plus_Dollar 11.281842857142367 ns/iter 9.6814981710656 ns/iter 1.17
Regex_Caret_Group_Period_Plus_Group_Dollar 11.272889062500013 ns/iter 9.67325218895921 ns/iter 1.17
Regex_Caret_Period_Asterisk_Dollar 8.82151737133142 ns/iter 7.5131060267860255 ns/iter 1.17
Regex_Caret_Group_Period_Asterisk_Group_Dollar 8.820957549905849 ns/iter 7.562369642857091 ns/iter 1.17
Regex_Caret_X_Hyphen 13.873005741637634 ns/iter 11.959892187498156 ns/iter 1.16
Regex_Period_Md_Dollar 40.619893401161626 ns/iter 38.47972876018097 ns/iter 1.06
Regex_Caret_Slash_Period_Asterisk 13.05166132566393 ns/iter 11.44289285714503 ns/iter 1.14
Regex_Caret_Period_Range_Dollar 11.27994531249854 ns/iter 9.717484374998975 ns/iter 1.16
Regex_Nested_Backtrack 50.68158999999923 ns/iter 48.72572355764809 ns/iter 1.04
JSON_Array_Of_Objects_Unique 526.0317999998279 ns/iter 513.5225999999875 ns/iter 1.02
JSON_Parse_1 7539.176339285295 ns/iter 7979.571428570356 ns/iter 0.94
JSON_Parse_Real 13801.114285716461 ns/iter 15070.631696428702 ns/iter 0.92
JSON_Parse_Decimal 16756.89461207456 ns/iter 16504.26007317424 ns/iter 1.02
JSON_Parse_Schema_ISO_Language 6630858.928571926 ns/iter 5920723.214286129 ns/iter 1.12
JSON_Fast_Hash_Helm_Chart_Lock 75.37275669642035 ns/iter 71.97669642857412 ns/iter 1.05
JSON_Equality_Helm_Chart_Lock 267.99314642936866 ns/iter 258.39303571428576 ns/iter 1.04
JSON_Divisible_By_Decimal 266.9086257547707 ns/iter 255.26878571424407 ns/iter 1.05
JSON_String_Equal/10 11.37324843750065 ns/iter 12.58727499999931 ns/iter 0.90
JSON_String_Equal/100 13.149042128800964 ns/iter 13.601693912489022 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 1.7761125015858983 ns/iter 2.2053318750003825 ns/iter 0.81
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.090767857143549 ns/iter 12.891978571429622 ns/iter 0.94
JSON_String_Fast_Hash/10 4.272610766558424 ns/iter 4.11256526602123 ns/iter 1.04
JSON_String_Fast_Hash/100 4.3728381794032325 ns/iter 4.227051895434563 ns/iter 1.03
JSON_String_Key_Hash/10 3.953824776784996 ns/iter 4.091838801950525 ns/iter 0.97
JSON_String_Key_Hash/100 17.398751941055774 ns/iter 14.400127232145266 ns/iter 1.21
JSON_Object_Defines_Miss_Same_Length 3.8841188616066193 ns/iter 3.9028339216019776 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.9858829981888677 ns/iter 3.7772742789689917 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Large 3.9580351409974455 ns/iter 3.778015171825438 ns/iter 1.05
Pointer_Object_Traverse 43.35978124998974 ns/iter 40.6592184016893 ns/iter 1.07
Pointer_Object_Try_Traverse 53.3793100000139 ns/iter 52.282320000017535 ns/iter 1.02
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.8116741071602 ns/iter 170.28197568853872 ns/iter 0.97
Pointer_Walker_Schema_ISO_Language 12489787.499999596 ns/iter 11265014.062502133 ns/iter 1.11
Pointer_Maybe_Tracked_Deeply_Nested/0 2031508.9285710591 ns/iter 1967561.250000216 ns/iter 1.03
Pointer_Maybe_Tracked_Deeply_Nested/1 3051759.374999717 ns/iter 3156268.62745117 ns/iter 0.97
Pointer_Position_Tracker_Get_Deeply_Nested 684.7988460718796 ns/iter 615.5276785713783 ns/iter 1.11
Schema_Frame_WoT_References 10097305.333332164 ns/iter 10027777.333334597 ns/iter 1.01
Schema_Frame_OMC_References 44347199.99999288 ns/iter 42810418.75000824 ns/iter 1.04
Schema_Frame_OMC_Locations 40858541.17646276 ns/iter 39978111.76470671 ns/iter 1.02
Schema_Frame_ISO_Language_Locations 199897274.99995524 ns/iter 190838374.99999845 ns/iter 1.05
Schema_Frame_KrakenD_References 90658414.2856965 ns/iter 87698257.14284706 ns/iter 1.03
Schema_Frame_KrakenD_Reachable 520395399.9998703 ns/iter 501807299.99988216 ns/iter 1.04
Schema_Iterator_ISO_Language 6655322.222223327 ns/iter 6212267.8571431115 ns/iter 1.07
Schema_Frame_ISO_Language_Locations_To_JSON 306990149.99993324 ns/iter 294359450.0000017 ns/iter 1.04
Schema_Tracker_ISO_Language 16667280.000001483 ns/iter 16094893.999998022 ns/iter 1.04
Schema_Tracker_ISO_Language_To_JSON 51496980.00000171 ns/iter 51357070.0000173 ns/iter 1.00
Schema_Format_ISO_Language_To_JSON 203085049.99991328 ns/iter 190603250.0000947 ns/iter 1.07
Schema_Bundle_Meta_2020_12 2881242.796610291 ns/iter 2892589.7727233544 ns/iter 1.00
Schema_Frame_Many_Resources_References 1485442199.9998522 ns/iter 1483886900.000016 ns/iter 1.00
EditorSchema_ForEditor_EmbeddedResources 29846388.000005387 ns/iter 28902616.666679632 ns/iter 1.03
URITemplateRouter_Create 22454.749999994303 ns/iter 24033.689356146275 ns/iter 0.93
URITemplateRouter_Match 218.75307951995012 ns/iter 210.96887500000602 ns/iter 1.04
URITemplateRouter_Match_BasePath 263.8728354407708 ns/iter 246.03020691624997 ns/iter 1.07
URITemplateRouterView_Restore 24124.652626642688 ns/iter 30750.60011026993 ns/iter 0.78
URITemplateRouterView_Match 150.6920758928792 ns/iter 149.71823660714685 ns/iter 1.01
URITemplateRouterView_Match_BasePath 178.74839143405865 ns/iter 174.05570304069892 ns/iter 1.03
URITemplateRouterView_Arguments 444.2755439439844 ns/iter 444.15756250003824 ns/iter 1.00
JSONL_Parse_Large 27137865.38461486 ns/iter 28168175.99999922 ns/iter 0.96
JSONL_Parse_Large_GZIP 27098026.923069414 ns/iter 27920125.000004448 ns/iter 0.97
HTML_Build_Table_100000 91490888.888883 ns/iter 85781977.77776748 ns/iter 1.07
HTML_Render_Table_100000 7781721.111112144 ns/iter 7563050.000001365 ns/iter 1.03

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

@jviotti jviotti merged commit 2ce5c31 into main May 8, 2026
13 checks passed
@jviotti jviotti deleted the pointer-string-view branch May 8, 2026 18:04
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: 297dcf2 Previous: b267bc8 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.8367335498848545 ns/iter 2.1064733673511298 ns/iter 0.87
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1920217980050523 ns/iter 2.573584307157659 ns/iter 0.85
Regex_Period_Asterisk 2.139777925590182 ns/iter 2.275896155524025 ns/iter 0.94
Regex_Group_Period_Asterisk_Group 1.9422805650026618 ns/iter 2.1573259046650377 ns/iter 0.90
Regex_Period_Plus 2.7948226531742186 ns/iter 2.3931283404286354 ns/iter 1.17
Regex_Period 2.9779710346749413 ns/iter 2.4619239718165624 ns/iter 1.21
Regex_Caret_Period_Plus_Dollar 2.478027277453698 ns/iter 2.289708581238566 ns/iter 1.08
Regex_Caret_Group_Period_Plus_Group_Dollar 2.33117779410601 ns/iter 2.3712722689457877 ns/iter 0.98
Regex_Caret_Period_Asterisk_Dollar 1.9420391909118968 ns/iter 2.108286920929669 ns/iter 0.92
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.9730484672301183 ns/iter 1.908257415036882 ns/iter 1.03
Regex_Caret_X_Hyphen 6.296971740546598 ns/iter 7.574641879933754 ns/iter 0.83
Regex_Period_Md_Dollar 18.145026643974564 ns/iter 18.930202690864196 ns/iter 0.96
Regex_Caret_Slash_Period_Asterisk 8.851954055059288 ns/iter 8.537098019707255 ns/iter 1.04
Regex_Caret_Period_Range_Dollar 1.7784667237383347 ns/iter 2.107491230328049 ns/iter 0.84
Regex_Nested_Backtrack 31.30965272435002 ns/iter 29.2415124889442 ns/iter 1.07
JSON_Array_Of_Objects_Unique 451.303248604811 ns/iter 392.0386042197828 ns/iter 1.15
JSON_Parse_1 5759.7404767672415 ns/iter 5345.377273170458 ns/iter 1.08
JSON_Parse_Real 8408.594167584004 ns/iter 8431.412639405416 ns/iter 1.00
JSON_Parse_Decimal 11449.685748455702 ns/iter 10852.64078437089 ns/iter 1.06
JSON_Parse_Schema_ISO_Language 4377558.048275299 ns/iter 5502778.97656315 ns/iter 0.80
JSON_Fast_Hash_Helm_Chart_Lock 76.74579714511194 ns/iter 72.44972656310503 ns/iter 1.06
JSON_Equality_Helm_Chart_Lock 180.00477872787218 ns/iter 187.24982660983912 ns/iter 0.96
JSON_Divisible_By_Decimal 241.97711615609637 ns/iter 238.01572920039177 ns/iter 1.02
JSON_String_Equal/10 9.3238240315535 ns/iter 8.962348414163074 ns/iter 1.04
JSON_String_Equal/100 9.345083402701396 ns/iter 7.886066840293871 ns/iter 1.19
JSON_String_Equal_Small_By_Perfect_Hash/10 1.0383757529152047 ns/iter 1.0041625264140364 ns/iter 1.03
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.376406923677636 ns/iter 4.836167335629423 ns/iter 0.90
JSON_String_Fast_Hash/10 3.3323268193858304 ns/iter 3.3668775335182026 ns/iter 0.99
JSON_String_Fast_Hash/100 2.7488847159882766 ns/iter 2.8364761682355937 ns/iter 0.97
JSON_String_Key_Hash/10 1.9254580992447499 ns/iter 1.8131026433107695 ns/iter 1.06
JSON_String_Key_Hash/100 2.8345474056273647 ns/iter 3.100047453171841 ns/iter 0.91
JSON_Object_Defines_Miss_Same_Length 3.484281360596858 ns/iter 2.8173781046085034 ns/iter 1.24
JSON_Object_Defines_Miss_Too_Small 3.663512104574783 ns/iter 2.7804185286274627 ns/iter 1.32
JSON_Object_Defines_Miss_Too_Large 4.101142324140959 ns/iter 2.8908275531765204 ns/iter 1.42
Pointer_Object_Traverse 29.578303925226365 ns/iter 19.738582547610594 ns/iter 1.50
Pointer_Object_Try_Traverse 29.184724685421887 ns/iter 23.479819929166982 ns/iter 1.24
Pointer_Push_Back_Pointer_To_Weak_Pointer 257.35531519895403 ns/iter 202.07150908848956 ns/iter 1.27
Pointer_Walker_Schema_ISO_Language 6952454.724408048 ns/iter 5624353.494624145 ns/iter 1.24
Pointer_Maybe_Tracked_Deeply_Nested/0 2245791.6656533857 ns/iter 1374018.4404256032 ns/iter 1.63
Pointer_Maybe_Tracked_Deeply_Nested/1 2505484.191489607 ns/iter 1951446.7889182153 ns/iter 1.28
Pointer_Position_Tracker_Get_Deeply_Nested 505.26341795970313 ns/iter 499.4473911402963 ns/iter 1.01
Schema_Frame_WoT_References 7605921.095744711 ns/iter 8123466.049381832 ns/iter 0.94
Schema_Frame_OMC_References 48522847.22222874 ns/iter 44510216.18750417 ns/iter 1.09
Schema_Frame_OMC_Locations 34702172.94999429 ns/iter 36652317.99999746 ns/iter 0.95
Schema_Frame_ISO_Language_Locations 127674758.4000077 ns/iter 108404541.57141721 ns/iter 1.18
Schema_Frame_KrakenD_References 64437322.87499415 ns/iter 60774697.91666582 ns/iter 1.06
Schema_Frame_KrakenD_Reachable 669549875.9997917 ns/iter 826559373.9999986 ns/iter 0.81
Schema_Iterator_ISO_Language 3529899.0722228354 ns/iter 3979747.343137495 ns/iter 0.89
Schema_Frame_ISO_Language_Locations_To_JSON 113388399.99998526 ns/iter 116172091.79999009 ns/iter 0.98
Schema_Tracker_ISO_Language 14515245.689655535 ns/iter 12743310.84000096 ns/iter 1.14
Schema_Tracker_ISO_Language_To_JSON 19354347.97297062 ns/iter 20139510.714284368 ns/iter 0.96
Schema_Format_ISO_Language_To_JSON 146763416.79996768 ns/iter 100099577.28569977 ns/iter 1.47
Schema_Bundle_Meta_2020_12 2265957.6566691916 ns/iter 1973181.5508682118 ns/iter 1.15
Schema_Frame_Many_Resources_References 525567874.99997884 ns/iter 547430875.0000318 ns/iter 0.96
EditorSchema_ForEditor_EmbeddedResources 17539649.68179389 ns/iter 15335374.066664068 ns/iter 1.14
URITemplateRouter_Create 19241.543154498773 ns/iter 23274.15371796954 ns/iter 0.83
URITemplateRouter_Match 228.01719103452453 ns/iter 219.56052812888265 ns/iter 1.04
URITemplateRouter_Match_BasePath 239.72913388746608 ns/iter 240.29165593148386 ns/iter 1.00
URITemplateRouterView_Restore 22566.5552203101 ns/iter 20018.111687580735 ns/iter 1.13
URITemplateRouterView_Match 151.6190263262533 ns/iter 166.89923867163026 ns/iter 0.91
URITemplateRouterView_Match_BasePath 198.2432643707253 ns/iter 196.40099344313793 ns/iter 1.01
URITemplateRouterView_Arguments 510.73747121526173 ns/iter 503.2270829999561 ns/iter 1.01
JSONL_Parse_Large 16938521.34146099 ns/iter 15968247.159091478 ns/iter 1.06
JSONL_Parse_Large_GZIP 21007626.312503193 ns/iter 18376416.68292668 ns/iter 1.14
HTML_Build_Table_100000 83456666.57143219 ns/iter 88463770.8749949 ns/iter 0.94
HTML_Render_Table_100000 5989970.479168013 ns/iter 5281909.020409005 ns/iter 1.13

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: 297dcf2 Previous: b267bc8 Ratio
HTML_Build_Table_100000 71727328.69998981 ns/iter 71724827.00000273 ns/iter 1.00
HTML_Render_Table_100000 5026412.489208355 ns/iter 4916252.00694538 ns/iter 1.02
JSONL_Parse_Large 12626449.49090579 ns/iter 12664177.563638903 ns/iter 1.00
JSONL_Parse_Large_GZIP 13746786.686276799 ns/iter 13764877.880003043 ns/iter 1.00
URITemplateRouter_Create 17213.87534639421 ns/iter 17360.334820544675 ns/iter 0.99
URITemplateRouter_Match 169.85680345279772 ns/iter 170.14093738816314 ns/iter 1.00
URITemplateRouter_Match_BasePath 195.1126529501874 ns/iter 195.49534723471095 ns/iter 1.00
URITemplateRouterView_Restore 6355.730645087528 ns/iter 6655.2962139104675 ns/iter 0.95
URITemplateRouterView_Match 131.28507077641203 ns/iter 130.16919434315574 ns/iter 1.01
URITemplateRouterView_Match_BasePath 146.24473623695985 ns/iter 145.77034000146205 ns/iter 1.00
URITemplateRouterView_Arguments 518.9319112934066 ns/iter 472.8223801028865 ns/iter 1.10
EditorSchema_ForEditor_EmbeddedResources 14154987.877553103 ns/iter 14060086.94002594 ns/iter 1.01
Schema_Frame_WoT_References 5483120.195313162 ns/iter 5537622.412699449 ns/iter 0.99
Schema_Frame_OMC_References 23587165.433332305 ns/iter 22663823.741932873 ns/iter 1.04
Schema_Frame_OMC_Locations 21607354.483876403 ns/iter 21091472.03030013 ns/iter 1.02
Schema_Frame_ISO_Language_Locations 104442181.99999493 ns/iter 102549215.49998623 ns/iter 1.02
Schema_Frame_KrakenD_References 43417404.81250156 ns/iter 41753746.470583476 ns/iter 1.04
Schema_Frame_KrakenD_Reachable 594299236.9998592 ns/iter 567236985.9998981 ns/iter 1.05
Schema_Iterator_ISO_Language 3211541.0958909313 ns/iter 3220936.1658981494 ns/iter 1.00
Schema_Frame_ISO_Language_Locations_To_JSON 231040153.66660252 ns/iter 219854049.6666131 ns/iter 1.05
Schema_Tracker_ISO_Language 4765285.217686419 ns/iter 4728794.371621424 ns/iter 1.01
Schema_Tracker_ISO_Language_To_JSON 22513709.483871114 ns/iter 22147559.87096572 ns/iter 1.02
Schema_Format_ISO_Language_To_JSON 113112637.50000459 ns/iter 108315087.6666726 ns/iter 1.04
Schema_Bundle_Meta_2020_12 1809672.4453017158 ns/iter 1775343.784260752 ns/iter 1.02
Schema_Frame_Many_Resources_References 385191190.0000005 ns/iter 384863075.4999931 ns/iter 1.00
Pointer_Object_Traverse 31.263001441809834 ns/iter 32.39942829556317 ns/iter 0.96
Pointer_Object_Try_Traverse 22.079706789875342 ns/iter 21.991469431581827 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 133.46043677230898 ns/iter 148.73698149650545 ns/iter 0.90
Pointer_Walker_Schema_ISO_Language 3616152.072165334 ns/iter 3491377.3546803687 ns/iter 1.04
Pointer_Maybe_Tracked_Deeply_Nested/0 1528521.1742918633 ns/iter 1527435.1400435367 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1727521.7881773992 ns/iter 1726521.8391092068 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 543.9083821383184 ns/iter 437.5791950747086 ns/iter 1.24
JSON_Array_Of_Objects_Unique 426.7643779811483 ns/iter 424.49018903279733 ns/iter 1.01
JSON_Parse_1 7644.62260431568 ns/iter 7738.124017206917 ns/iter 0.99
JSON_Parse_Real 12111.234596993041 ns/iter 11927.660711854323 ns/iter 1.02
JSON_Parse_Decimal 16305.08584697738 ns/iter 16609.421842811462 ns/iter 0.98
JSON_Parse_Schema_ISO_Language 4651354.4866669085 ns/iter 4632180.086093816 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 65.40601414145226 ns/iter 64.72716793435933 ns/iter 1.01
JSON_Equality_Helm_Chart_Lock 185.17190680398326 ns/iter 190.64537964125284 ns/iter 0.97
JSON_Divisible_By_Decimal 231.21883222854737 ns/iter 232.89318671924974 ns/iter 0.99
JSON_String_Equal/10 6.4733537561067545 ns/iter 7.116837400123193 ns/iter 0.91
JSON_String_Equal/100 7.104193371644762 ns/iter 7.105301685013096 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7121357199765856 ns/iter 0.7142124226346965 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 21.93935011072579 ns/iter 21.944682223696933 ns/iter 1.00
JSON_String_Fast_Hash/10 1.055238009775654 ns/iter 1.0563788679538775 ns/iter 1.00
JSON_String_Fast_Hash/100 1.0554393253000645 ns/iter 1.0559607356576195 ns/iter 1.00
JSON_String_Key_Hash/10 1.087064583926592 ns/iter 1.1171687337269411 ns/iter 0.97
JSON_String_Key_Hash/100 14.758019895646884 ns/iter 14.759044068988374 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.5172721018224116 ns/iter 3.5183882450469546 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.5209298407233995 ns/iter 3.518140524198568 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.5189490034895843 ns/iter 3.53488351176944 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 1.0614673447825336 ns/iter 1.0552515350802 ns/iter 1.01
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.7037620272806854 ns/iter 0.7044194538202946 ns/iter 1.00
Regex_Period_Asterisk 0.704501282916036 ns/iter 0.7040397506861718 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 1.1076691285175913 ns/iter 1.0564216120674759 ns/iter 1.05
Regex_Period_Plus 1.0548247526531547 ns/iter 1.0560917935682146 ns/iter 1.00
Regex_Period 0.7057135869976053 ns/iter 0.7040577625824753 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 0.7052645120422829 ns/iter 0.705336785357683 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 1.0554123441529841 ns/iter 1.0554065113139837 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 1.0550172884566749 ns/iter 1.0582374996992856 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.7034968464318927 ns/iter 0.7043069690442321 ns/iter 1.00
Regex_Caret_X_Hyphen 3.8676470809298964 ns/iter 3.8674100565014107 ns/iter 1.00
Regex_Period_Md_Dollar 35.88688247496476 ns/iter 35.46232734564822 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 4.221834132244534 ns/iter 4.218059611660524 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 0.8391848360281766 ns/iter 0.8415656960410357 ns/iter 1.00
Regex_Nested_Backtrack 59.484371074958844 ns/iter 41.44225454476732 ns/iter 1.44

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