Skip to content

Support FIFO on read_file_to_string#2376

Merged
jviotti merged 4 commits into
mainfrom
fifo-read-file
May 12, 2026
Merged

Support FIFO on read_file_to_string#2376
jviotti merged 4 commits into
mainfrom
fifo-read-file

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 12, 2026

Signed-off-by: Juan Cruz Viotti [email protected]

Signed-off-by: Juan Cruz Viotti <[email protected]>
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 2 files

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 12, 2026

🤖 Augment PR Summary

Summary: Extends read_file_to_string to handle FIFOs and other non-regular inputs by avoiding file_size.

Changes: Adds a non-regular-file streaming fallback plus a non-Windows FIFO regression test.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

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

Comment thread src/lang/io/include/sourcemeta/core/io.h Outdated
Comment thread test/io/io_read_to_string_test.cc
jviotti added 2 commits May 12, 2026 16:10
Signed-off-by: Juan Cruz Viotti <[email protected]>
Signed-off-by: Juan Cruz Viotti <[email protected]>
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 1 file (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="src/lang/io/include/sourcemeta/core/io.h">

<violation number="1" location="src/lang/io/include/sourcemeta/core/io.h:177">
P1: Fallback detection is incomplete: checking only `file_size_error` can miss non-regular files on implementations where `file_size` succeeds for them. That can break FIFO/pipe reads by skipping the streaming path.</violation>
</file>

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

Comment thread src/lang/io/include/sourcemeta/core/io.h
Signed-off-by: Juan Cruz Viotti <[email protected]>
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: 9fbb494 Previous: ce85e61 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2003211519422883 ns/iter 2.180072426125075 ns/iter 1.01
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.183748937510675 ns/iter 2.184642591974828 ns/iter 1.00
Regex_Period_Asterisk 2.193558211598185 ns/iter 2.1779336932860462 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 2.184184534179557 ns/iter 2.1786786178748514 ns/iter 1.00
Regex_Period_Plus 3.114105826914464 ns/iter 2.4936656937659407 ns/iter 1.25
Regex_Period 2.4911263602502487 ns/iter 2.5572317086016265 ns/iter 0.97
Regex_Caret_Period_Plus_Dollar 2.8018608192008956 ns/iter 2.182093230110294 ns/iter 1.28
Regex_Caret_Group_Period_Plus_Group_Dollar 2.4903636762110004 ns/iter 2.494060647373714 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 2.264083116867525 ns/iter 2.181147844949857 ns/iter 1.04
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.1903146628258336 ns/iter 2.4912659289102903 ns/iter 0.88
Regex_Caret_X_Hyphen 5.84398424117924 ns/iter 6.545258301070875 ns/iter 0.89
Regex_Period_Md_Dollar 28.666804652285187 ns/iter 27.73037745255639 ns/iter 1.03
Regex_Caret_Slash_Period_Asterisk 6.233198460738261 ns/iter 5.917921332842599 ns/iter 1.05
Regex_Caret_Period_Range_Dollar 2.492263200113485 ns/iter 2.835574905901328 ns/iter 0.88
Regex_Nested_Backtrack 38.19203895246669 ns/iter 36.927903400855655 ns/iter 1.03
JSON_Array_Of_Objects_Unique 413.62909504624383 ns/iter 419.5494046645156 ns/iter 0.99
JSON_Parse_1 5813.72008138439 ns/iter 5921.319601048296 ns/iter 0.98
JSON_Parse_Real 10580.187119715423 ns/iter 10830.27616749788 ns/iter 0.98
JSON_Parse_Decimal 10948.89338699909 ns/iter 11636.230456887955 ns/iter 0.94
JSON_Parse_Schema_ISO_Language 3606017.3834197335 ns/iter 3626318.0569949797 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 61.47709490801487 ns/iter 60.45365509574272 ns/iter 1.02
JSON_Equality_Helm_Chart_Lock 165.60678498143767 ns/iter 161.03184564982098 ns/iter 1.03
JSON_Divisible_By_Decimal 253.24583369692377 ns/iter 252.09827652839888 ns/iter 1.00
JSON_String_Equal/10 6.255071292295258 ns/iter 6.239057640011977 ns/iter 1.00
JSON_String_Equal/100 6.875739678932719 ns/iter 6.869398852329745 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9367826015702494 ns/iter 0.9435399981234067 ns/iter 0.99
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.276576902780764 ns/iter 14.62084363650564 ns/iter 0.70
JSON_String_Fast_Hash/10 2.490528224914439 ns/iter 2.4912298853465784 ns/iter 1.00
JSON_String_Fast_Hash/100 2.4906099241209945 ns/iter 2.49101868142792 ns/iter 1.00
JSON_String_Key_Hash/10 2.1820359028039134 ns/iter 2.7258859194398473 ns/iter 0.80
JSON_String_Key_Hash/100 6.5434906909227015 ns/iter 9.027110081183716 ns/iter 0.72
JSON_Object_Defines_Miss_Same_Length 3.749087172030116 ns/iter 3.7438611068413503 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7406244583400285 ns/iter 3.74210885030497 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7401258954856305 ns/iter 3.7519769386898956 ns/iter 1.00
Pointer_Object_Traverse 24.471079956856034 ns/iter 23.946858656375934 ns/iter 1.02
Pointer_Object_Try_Traverse 26.089966624568177 ns/iter 26.128078603609822 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 179.56858938732512 ns/iter 227.1965508196739 ns/iter 0.79
Pointer_Walker_Schema_ISO_Language 3050672.728069988 ns/iter 3116833.4849786735 ns/iter 0.98
Pointer_Maybe_Tracked_Deeply_Nested/0 1398394.7122735037 ns/iter 1413015.3638253242 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/1 1905167.3131865915 ns/iter 1801176.1740259412 ns/iter 1.06
Pointer_Position_Tracker_Get_Deeply_Nested 582.5104218382901 ns/iter 633.1806051981247 ns/iter 0.92
Schema_Frame_WoT_References 5205798.6865671445 ns/iter 5246002.097014447 ns/iter 0.99
Schema_Frame_OMC_References 21316452.66666565 ns/iter 22483800.09677564 ns/iter 0.95
Schema_Frame_OMC_Locations 19580515.805554595 ns/iter 20436308.941177282 ns/iter 0.96
Schema_Frame_ISO_Language_Locations 99675999.6666583 ns/iter 108630720.33333765 ns/iter 0.92
Schema_Frame_KrakenD_References 38647700.55554977 ns/iter 44122138.599997625 ns/iter 0.88
Schema_Frame_KrakenD_Reachable 566845851.0000391 ns/iter 617848879.9999968 ns/iter 0.92
Schema_Iterator_ISO_Language 3006961.1703060037 ns/iter 3023365.3679652647 ns/iter 0.99
Schema_Frame_ISO_Language_Locations_To_JSON 108688314.40000121 ns/iter 115997321.4000047 ns/iter 0.94
Schema_Tracker_ISO_Language 4661704.16233826 ns/iter 4812847.503448493 ns/iter 0.97
Schema_Tracker_ISO_Language_To_JSON 19379580.729731526 ns/iter 20028361.05714323 ns/iter 0.97
Schema_Format_ISO_Language_To_JSON 108224017.49999245 ns/iter 113185531.16666408 ns/iter 0.96
Schema_Bundle_Meta_2020_12 1683334.6618706563 ns/iter 1704187.572814475 ns/iter 0.99
Schema_Frame_Many_Resources_References 376339036.49998504 ns/iter 393191288.49996334 ns/iter 0.96
EditorSchema_ForEditor_EmbeddedResources 13951950.779994605 ns/iter 14194040.379991293 ns/iter 0.98
URITemplateRouter_Create 32360.078896728995 ns/iter 32051.251498911486 ns/iter 1.01
URITemplateRouter_Match 171.267992810515 ns/iter 172.1996327186898 ns/iter 0.99
URITemplateRouter_Match_BasePath 197.3459425989587 ns/iter 201.14267672364943 ns/iter 0.98
URITemplateRouterView_Restore 7671.524379173635 ns/iter 7974.514677147743 ns/iter 0.96
URITemplateRouterView_Match 158.0866985812446 ns/iter 146.8240846508302 ns/iter 1.08
URITemplateRouterView_Match_BasePath 182.34988046865925 ns/iter 166.01743605137258 ns/iter 1.10
URITemplateRouterView_Arguments 472.1489409243876 ns/iter 458.0384165142793 ns/iter 1.03
JSONL_Parse_Large 10777786.800001474 ns/iter 11012818.015625924 ns/iter 0.98
JSONL_Parse_Large_GZIP 12060541.17241412 ns/iter 12227929.771930782 ns/iter 0.99
HTML_Build_Table_100000 63611061.81818534 ns/iter 76772584.18181571 ns/iter 0.83
HTML_Render_Table_100000 5438119.813953746 ns/iter 6008452.36842137 ns/iter 0.91

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: 9fbb494 Previous: ce85e61 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 8.824039062498606 ns/iter 7.523568080356163 ns/iter 1.17
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 8.818748883927846 ns/iter 7.617577008929288 ns/iter 1.16
Regex_Period_Asterisk 8.827719603445699 ns/iter 7.504411830357835 ns/iter 1.18
Regex_Group_Period_Asterisk_Group 8.867006210414168 ns/iter 7.501027678571859 ns/iter 1.18
Regex_Period_Plus 11.291514062502728 ns/iter 9.686219153186883 ns/iter 1.17
Regex_Period 11.31568437499908 ns/iter 9.748201295766135 ns/iter 1.16
Regex_Caret_Period_Plus_Dollar 11.278626562500449 ns/iter 9.684053124999537 ns/iter 1.16
Regex_Caret_Group_Period_Plus_Group_Dollar 11.284482812499164 ns/iter 9.676049956803348 ns/iter 1.17
Regex_Caret_Period_Asterisk_Dollar 8.846844603360758 ns/iter 7.508670758927646 ns/iter 1.18
Regex_Caret_Group_Period_Asterisk_Group_Dollar 8.823396389181672 ns/iter 7.509043526786132 ns/iter 1.18
Regex_Caret_X_Hyphen 13.74444435828213 ns/iter 11.765683928570882 ns/iter 1.17
Regex_Period_Md_Dollar 40.77783759969273 ns/iter 37.85308593749244 ns/iter 1.08
Regex_Caret_Slash_Period_Asterisk 13.061926785711973 ns/iter 11.25692968750158 ns/iter 1.16
Regex_Caret_Period_Range_Dollar 11.292709375002374 ns/iter 9.674011563955276 ns/iter 1.17
Regex_Nested_Backtrack 50.52945999998428 ns/iter 47.036726496359044 ns/iter 1.07
JSON_Array_Of_Objects_Unique 482.6950184587652 ns/iter 466.9600625000215 ns/iter 1.03
JSON_Parse_1 7641.901785712589 ns/iter 7987.607142858621 ns/iter 0.96
JSON_Parse_Real 13809.437904293889 ns/iter 16147.872418787432 ns/iter 0.86
JSON_Parse_Decimal 14787.866125600533 ns/iter 15731.935267854373 ns/iter 0.94
JSON_Parse_Schema_ISO_Language 6359068.749998999 ns/iter 5898453.571426948 ns/iter 1.08
JSON_Fast_Hash_Helm_Chart_Lock 57.66450000000987 ns/iter 60.34883035714042 ns/iter 0.96
JSON_Equality_Helm_Chart_Lock 285.82786765311914 ns/iter 275.0763292444042 ns/iter 1.04
JSON_Divisible_By_Decimal 259.61486650060505 ns/iter 251.1910246067656 ns/iter 1.03
JSON_String_Equal/10 11.689083928571012 ns/iter 12.804408928571677 ns/iter 0.91
JSON_String_Equal/100 13.13735714285664 ns/iter 12.96107500000078 ns/iter 1.01
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1219606895954555 ns/iter 2.2019212499998275 ns/iter 0.96
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 11.36788437500158 ns/iter 12.556446428569807 ns/iter 0.91
JSON_String_Fast_Hash/10 3.5634043694322197 ns/iter 3.1440486607142555 ns/iter 1.13
JSON_String_Fast_Hash/100 3.5807902168200676 ns/iter 3.1473970361675176 ns/iter 1.14
JSON_String_Key_Hash/10 3.9897712053577856 ns/iter 3.9028660714279795 ns/iter 1.02
JSON_String_Key_Hash/100 17.08680323379311 ns/iter 16.928548100924385 ns/iter 1.01
JSON_Object_Defines_Miss_Same_Length 5.648642999999537 ns/iter 5.1767180000001645 ns/iter 1.09
JSON_Object_Defines_Miss_Too_Small 4.096366874999546 ns/iter 3.78848035037764 ns/iter 1.08
JSON_Object_Defines_Miss_Too_Large 3.94776944020191 ns/iter 3.7994705289287984 ns/iter 1.04
Pointer_Object_Traverse 47.750974280157905 ns/iter 43.87288954776629 ns/iter 1.09
Pointer_Object_Try_Traverse 56.996758928562485 ns/iter 49.50446999998803 ns/iter 1.15
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.96689732145498 ns/iter 177.6471636817053 ns/iter 0.93
Pointer_Walker_Schema_ISO_Language 14724068.292685488 ns/iter 11794800.00000055 ns/iter 1.25
Pointer_Maybe_Tracked_Deeply_Nested/0 2182533.71212134 ns/iter 2005755.0000006228 ns/iter 1.09
Pointer_Maybe_Tracked_Deeply_Nested/1 3247441.0714290314 ns/iter 3168690.1785720675 ns/iter 1.02
Pointer_Position_Tracker_Get_Deeply_Nested 687.6890233530619 ns/iter 611.3756696429615 ns/iter 1.12
Schema_Frame_WoT_References 10773442.187499426 ns/iter 9925198.437500171 ns/iter 1.09
Schema_Frame_OMC_References 45206553.3333401 ns/iter 43228650.0000032 ns/iter 1.05
Schema_Frame_OMC_Locations 42655611.764704354 ns/iter 40179164.70589251 ns/iter 1.06
Schema_Frame_ISO_Language_Locations 214920400.0000585 ns/iter 189020674.99999475 ns/iter 1.14
Schema_Frame_KrakenD_References 95746628.57143526 ns/iter 89622066.66668256 ns/iter 1.07
Schema_Frame_KrakenD_Reachable 542110100.0001727 ns/iter 515166199.9998396 ns/iter 1.05
Schema_Iterator_ISO_Language 6717916.071427307 ns/iter 6490688.999999748 ns/iter 1.04
Schema_Frame_ISO_Language_Locations_To_JSON 324225599.999977 ns/iter 299483249.9999802 ns/iter 1.08
Schema_Tracker_ISO_Language 11198729.68750002 ns/iter 9940614.666669112 ns/iter 1.13
Schema_Tracker_ISO_Language_To_JSON 52659363.63635278 ns/iter 49463928.57142915 ns/iter 1.06
Schema_Format_ISO_Language_To_JSON 229400766.66653416 ns/iter 188130166.66672412 ns/iter 1.22
Schema_Bundle_Meta_2020_12 2921926.1044211206 ns/iter 2911355.932208847 ns/iter 1.00
Schema_Frame_Many_Resources_References 1555691000.0000243 ns/iter 1514241899.9998882 ns/iter 1.03
EditorSchema_ForEditor_EmbeddedResources 34447281.81812645 ns/iter 29752483.333339795 ns/iter 1.16
URITemplateRouter_Create 37538.58681094814 ns/iter 38399.6037946461 ns/iter 0.98
URITemplateRouter_Match 234.4269716041346 ns/iter 212.48071875000107 ns/iter 1.10
URITemplateRouter_Match_BasePath 332.00910124956533 ns/iter 248.25271782898793 ns/iter 1.34
URITemplateRouterView_Restore 24125.30217296993 ns/iter 30522.803571427306 ns/iter 0.79
URITemplateRouterView_Match 169.56989751579087 ns/iter 154.60836140139617 ns/iter 1.10
URITemplateRouterView_Match_BasePath 193.8150708763523 ns/iter 172.3585064605712 ns/iter 1.12
URITemplateRouterView_Arguments 465.4903494397497 ns/iter 446.40712500012114 ns/iter 1.04
JSONL_Parse_Large 27173273.076930225 ns/iter 29132343.999999646 ns/iter 0.93
JSONL_Parse_Large_GZIP 27289838.461535092 ns/iter 28395891.99999864 ns/iter 0.96
HTML_Build_Table_100000 94131542.85714753 ns/iter 86961928.57142445 ns/iter 1.08
HTML_Render_Table_100000 8386202.666667183 ns/iter 8014344.444445164 ns/iter 1.05

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

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Benchmark (macos/llvm)

Details
Benchmark suite Current: 9fbb494 Previous: ce85e61 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2451822195114643 ns/iter 1.7696373063666682 ns/iter 1.27
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.3133420298466976 ns/iter 1.7275307744163932 ns/iter 1.34
Regex_Period_Asterisk 2.4084913845755094 ns/iter 1.7058954917303282 ns/iter 1.41
Regex_Group_Period_Asterisk_Group 2.7282995935387095 ns/iter 1.7568739776845208 ns/iter 1.55
Regex_Period_Plus 2.756647459925603 ns/iter 2.2628165623551775 ns/iter 1.22
Regex_Period 2.9882257040702926 ns/iter 2.329800796855659 ns/iter 1.28
Regex_Caret_Period_Plus_Dollar 2.47849319833622 ns/iter 1.9929599454687315 ns/iter 1.24
Regex_Caret_Group_Period_Plus_Group_Dollar 2.767814486182373 ns/iter 2.042617522701812 ns/iter 1.36
Regex_Caret_Period_Asterisk_Dollar 2.5940982072905943 ns/iter 1.719931825741789 ns/iter 1.51
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.3904591751684734 ns/iter 1.8641224855685625 ns/iter 1.28
Regex_Caret_X_Hyphen 8.656700372659248 ns/iter 7.20643189116907 ns/iter 1.20
Regex_Period_Md_Dollar 20.924685872159568 ns/iter 16.76706601564015 ns/iter 1.25
Regex_Caret_Slash_Period_Asterisk 9.14263114609797 ns/iter 8.130455853920573 ns/iter 1.12
Regex_Caret_Period_Range_Dollar 2.2781731627442943 ns/iter 1.6674695615233468 ns/iter 1.37
Regex_Nested_Backtrack 43.905213506428275 ns/iter 24.358441072975115 ns/iter 1.80
JSON_Array_Of_Objects_Unique 473.7779529008783 ns/iter 351.39351164818504 ns/iter 1.35
JSON_Parse_1 7055.127324030376 ns/iter 4006.5354870736223 ns/iter 1.76
JSON_Parse_Real 10899.95707837198 ns/iter 7894.867466550962 ns/iter 1.38
JSON_Parse_Decimal 13729.07627463572 ns/iter 9927.99206468837 ns/iter 1.38
JSON_Parse_Schema_ISO_Language 6782167.151162718 ns/iter 4982097.345454019 ns/iter 1.36
JSON_Fast_Hash_Helm_Chart_Lock 83.0815287732158 ns/iter 60.17730784086017 ns/iter 1.38
JSON_Equality_Helm_Chart_Lock 196.35002031669046 ns/iter 130.31390269076596 ns/iter 1.51
JSON_Divisible_By_Decimal 333.300345919042 ns/iter 178.45752766253605 ns/iter 1.87
JSON_String_Equal/10 9.348497931489494 ns/iter 6.589801686917259 ns/iter 1.42
JSON_String_Equal/100 9.200946545728746 ns/iter 6.2224561137343155 ns/iter 1.48
JSON_String_Equal_Small_By_Perfect_Hash/10 1.0085101536150411 ns/iter 0.79627729835795 ns/iter 1.27
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 5.118099882125051 ns/iter 3.4327903907964834 ns/iter 1.49
JSON_String_Fast_Hash/10 3.0552735424676283 ns/iter 2.4131947648662453 ns/iter 1.27
JSON_String_Fast_Hash/100 2.7457869618903183 ns/iter 2.2949954508357138 ns/iter 1.20
JSON_String_Key_Hash/10 2.2708625614055142 ns/iter 1.3775979796022757 ns/iter 1.65
JSON_String_Key_Hash/100 3.8286455093072806 ns/iter 2.085702911193087 ns/iter 1.84
JSON_Object_Defines_Miss_Same_Length 4.14011397909184 ns/iter 2.7871682214920432 ns/iter 1.49
JSON_Object_Defines_Miss_Too_Small 3.304097416911269 ns/iter 2.3136875693521253 ns/iter 1.43
JSON_Object_Defines_Miss_Too_Large 3.34859304751938 ns/iter 2.301074191980815 ns/iter 1.46
Pointer_Object_Traverse 19.004558886318364 ns/iter 13.528815346992273 ns/iter 1.40
Pointer_Object_Try_Traverse 26.248089740671013 ns/iter 18.16382776372089 ns/iter 1.45
Pointer_Push_Back_Pointer_To_Weak_Pointer 218.35908170637958 ns/iter 149.78658712353385 ns/iter 1.46
Pointer_Walker_Schema_ISO_Language 6557079.724409165 ns/iter 4028566.3841802753 ns/iter 1.63
Pointer_Maybe_Tracked_Deeply_Nested/0 1430269.3341067936 ns/iter 943259.5538676284 ns/iter 1.52
Pointer_Maybe_Tracked_Deeply_Nested/1 1918729.7873750774 ns/iter 1247621.4086205047 ns/iter 1.54
Pointer_Position_Tracker_Get_Deeply_Nested 522.4942079998982 ns/iter 339.726608080788 ns/iter 1.54
Schema_Frame_WoT_References 7615434.225490567 ns/iter 4568705.1708869785 ns/iter 1.67
Schema_Frame_OMC_References 34780852.27272293 ns/iter 27850540.178576466 ns/iter 1.25
Schema_Frame_OMC_Locations 35945811.52381016 ns/iter 26889074.26086782 ns/iter 1.34
Schema_Frame_ISO_Language_Locations 112136729.16668808 ns/iter 71499467.66665179 ns/iter 1.57
Schema_Frame_KrakenD_References 73917744.87498993 ns/iter 42825992.187502496 ns/iter 1.73
Schema_Frame_KrakenD_Reachable 707869166.9998989 ns/iter 356826562.5000322 ns/iter 1.98
Schema_Iterator_ISO_Language 3322397.5363636203 ns/iter 2091903.2818180008 ns/iter 1.59
Schema_Frame_ISO_Language_Locations_To_JSON 121131819.50000279 ns/iter 78957416.57141896 ns/iter 1.53
Schema_Tracker_ISO_Language 6963414.732557646 ns/iter 4650356.420381958 ns/iter 1.50
Schema_Tracker_ISO_Language_To_JSON 23016266.243902043 ns/iter 14653605.840003366 ns/iter 1.57
Schema_Format_ISO_Language_To_JSON 128690850.20001876 ns/iter 75741729.10003653 ns/iter 1.70
Schema_Bundle_Meta_2020_12 2519374.825148583 ns/iter 1366637.0445716083 ns/iter 1.84
Schema_Frame_Many_Resources_References 591443042.0000372 ns/iter 296555228.99997777 ns/iter 1.99
EditorSchema_ForEditor_EmbeddedResources 15632340.333332822 ns/iter 11898127.833342187 ns/iter 1.31
URITemplateRouter_Create 37644.04672847803 ns/iter 27160.052926142154 ns/iter 1.39
URITemplateRouter_Match 215.63092094718095 ns/iter 173.03921221399025 ns/iter 1.25
URITemplateRouter_Match_BasePath 283.8527967635093 ns/iter 212.01834017399545 ns/iter 1.34
URITemplateRouterView_Restore 16069.44972699457 ns/iter 11020.466193439786 ns/iter 1.46
URITemplateRouterView_Match 208.0946497209294 ns/iter 132.72274948748344 ns/iter 1.57
URITemplateRouterView_Match_BasePath 192.0917454286408 ns/iter 160.76272718742973 ns/iter 1.19
URITemplateRouterView_Arguments 579.7660409998571 ns/iter 422.5150834692554 ns/iter 1.37
JSONL_Parse_Large 19617725.76743876 ns/iter 12514979.166667217 ns/iter 1.57
JSONL_Parse_Large_GZIP 19592442.0731677 ns/iter 13437178.692304138 ns/iter 1.46
HTML_Build_Table_100000 105074648.85716088 ns/iter 64054816.600014426 ns/iter 1.64
HTML_Render_Table_100000 8280411.031250878 ns/iter 5020070.830000805 ns/iter 1.65

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

@jviotti jviotti merged commit 4707860 into main May 12, 2026
13 checks passed
@jviotti jviotti deleted the fifo-read-file branch May 12, 2026 20:42
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: 9fbb494 Previous: ce85e61 Ratio
HTML_Build_Table_100000 62971443.27271037 ns/iter 68860773.79999733 ns/iter 0.91
HTML_Render_Table_100000 5325559.522726976 ns/iter 5031556.000000054 ns/iter 1.06
JSONL_Parse_Large 12918262.759255953 ns/iter 12534132.038463388 ns/iter 1.03
JSONL_Parse_Large_GZIP 14069111.220001103 ns/iter 13611356.941175792 ns/iter 1.03
URITemplateRouter_Create 31077.70051340536 ns/iter 29909.98349919827 ns/iter 1.04
URITemplateRouter_Match 180.38508976725944 ns/iter 174.0420838203079 ns/iter 1.04
URITemplateRouter_Match_BasePath 210.90278045543764 ns/iter 206.98245414568123 ns/iter 1.02
URITemplateRouterView_Restore 7703.350605624641 ns/iter 8641.84546363299 ns/iter 0.89
URITemplateRouterView_Match 136.30155137555005 ns/iter 130.4886550482478 ns/iter 1.04
URITemplateRouterView_Match_BasePath 155.23099901344483 ns/iter 151.96910566454645 ns/iter 1.02
URITemplateRouterView_Arguments 485.30849245075734 ns/iter 469.7614261848246 ns/iter 1.03
EditorSchema_ForEditor_EmbeddedResources 13887417.647056816 ns/iter 14060862.059991451 ns/iter 0.99
Schema_Frame_WoT_References 5362992.541984374 ns/iter 5474628.393700171 ns/iter 0.98
Schema_Frame_OMC_References 22455017.750004914 ns/iter 22768872.0322608 ns/iter 0.99
Schema_Frame_OMC_Locations 20836263.41176542 ns/iter 20986147.176472515 ns/iter 0.99
Schema_Frame_ISO_Language_Locations 104285724.83332725 ns/iter 100539013.99999177 ns/iter 1.04
Schema_Frame_KrakenD_References 42073905.06249453 ns/iter 40564832.8823431 ns/iter 1.04
Schema_Frame_KrakenD_Reachable 545515841.9999862 ns/iter 578711571.9999747 ns/iter 0.94
Schema_Iterator_ISO_Language 3331832.1232225625 ns/iter 3201204.959089988 ns/iter 1.04
Schema_Frame_ISO_Language_Locations_To_JSON 219483820.33338022 ns/iter 228207726.33334246 ns/iter 0.96
Schema_Tracker_ISO_Language 4701045.8255035635 ns/iter 4541332.660256813 ns/iter 1.04
Schema_Tracker_ISO_Language_To_JSON 22928812.100000564 ns/iter 21954584.468751647 ns/iter 1.04
Schema_Format_ISO_Language_To_JSON 112274174.83337377 ns/iter 106963332.28575635 ns/iter 1.05
Schema_Bundle_Meta_2020_12 1780456.8647914827 ns/iter 1782719.9134821745 ns/iter 1.00
Schema_Frame_Many_Resources_References 381997702.9999109 ns/iter 381238872.00003994 ns/iter 1.00
Pointer_Object_Traverse 29.309445365949703 ns/iter 26.76767702889055 ns/iter 1.09
Pointer_Object_Try_Traverse 20.1143878433311 ns/iter 22.064075928408776 ns/iter 0.91
Pointer_Push_Back_Pointer_To_Weak_Pointer 167.02319778838012 ns/iter 155.66536665452554 ns/iter 1.07
Pointer_Walker_Schema_ISO_Language 3358870.371980431 ns/iter 3493777.24509792 ns/iter 0.96
Pointer_Maybe_Tracked_Deeply_Nested/0 1559163.4932435341 ns/iter 1560843.3542599776 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1754312.1152880476 ns/iter 1760117.7979799737 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 398.92176997108567 ns/iter 485.62242549989304 ns/iter 0.82
JSON_Array_Of_Objects_Unique 406.94897919967667 ns/iter 447.40509363777653 ns/iter 0.91
JSON_Parse_1 7861.741321312069 ns/iter 7879.336972917903 ns/iter 1.00
JSON_Parse_Real 12899.165144554276 ns/iter 11670.919114354328 ns/iter 1.11
JSON_Parse_Decimal 18115.228889466733 ns/iter 16347.62146524845 ns/iter 1.11
JSON_Parse_Schema_ISO_Language 4711387.409396526 ns/iter 4681072.456376862 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 71.33578149231926 ns/iter 78.09514615588463 ns/iter 0.91
JSON_Equality_Helm_Chart_Lock 162.46363966121353 ns/iter 192.71496932377357 ns/iter 0.84
JSON_Divisible_By_Decimal 236.52965718219238 ns/iter 233.3602986194718 ns/iter 1.01
JSON_String_Equal/10 6.672777990867173 ns/iter 6.792786125660417 ns/iter 0.98
JSON_String_Equal/100 7.0145862561363606 ns/iter 7.491077668424167 ns/iter 0.94
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6247014609041549 ns/iter 0.7158756290868299 ns/iter 0.87
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.205885384117824 ns/iter 21.936446440529906 ns/iter 1.15
JSON_String_Fast_Hash/10 1.5574962153780771 ns/iter 1.0555427158152626 ns/iter 1.48
JSON_String_Fast_Hash/100 1.5570916399275383 ns/iter 1.056166806482324 ns/iter 1.47
JSON_String_Key_Hash/10 1.2470795623916562 ns/iter 1.7593219600299195 ns/iter 0.71
JSON_String_Key_Hash/100 12.453025194527592 ns/iter 14.75799438613279 ns/iter 0.84
JSON_Object_Defines_Miss_Same_Length 3.4275764654594214 ns/iter 3.872841447302633 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Small 3.738911742690418 ns/iter 3.5164224132555235 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Large 3.1151751689345324 ns/iter 4.22614060725822 ns/iter 0.74
Regex_Lower_S_Or_Upper_S_Asterisk 0.6234400264563191 ns/iter 1.0552734427892025 ns/iter 0.59
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.6229982345185724 ns/iter 1.0549066955458035 ns/iter 0.59
Regex_Period_Asterisk 0.9352280047002118 ns/iter 0.7032670153638878 ns/iter 1.33
Regex_Group_Period_Asterisk_Group 0.935377651180493 ns/iter 0.7033363356665525 ns/iter 1.33
Regex_Period_Plus 0.6235686800235242 ns/iter 1.0563079671153073 ns/iter 0.59
Regex_Period 0.6234961873654032 ns/iter 1.056523990133537 ns/iter 0.59
Regex_Caret_Period_Plus_Dollar 0.9344272188339444 ns/iter 0.703429516629196 ns/iter 1.33
Regex_Caret_Group_Period_Plus_Group_Dollar 0.9351110426642973 ns/iter 0.7037792575163255 ns/iter 1.33
Regex_Caret_Period_Asterisk_Dollar 0.6258068074270567 ns/iter 1.057842065875453 ns/iter 0.59
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.6236320399977644 ns/iter 1.0560642325026857 ns/iter 0.59
Regex_Caret_X_Hyphen 4.052130372176896 ns/iter 4.220994404645639 ns/iter 0.96
Regex_Period_Md_Dollar 46.84347700095904 ns/iter 34.986520833609575 ns/iter 1.34
Regex_Caret_Slash_Period_Asterisk 4.6684047053851465 ns/iter 3.869473504813646 ns/iter 1.21
Regex_Caret_Period_Range_Dollar 0.779025968230392 ns/iter 1.0559029728674016 ns/iter 0.74
Regex_Nested_Backtrack 47.20273235161554 ns/iter 39.33264437632333 ns/iter 1.20

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