Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop consuming FlatMap from Noa #1487

Merged
merged 1 commit into from
Jan 28, 2025
Merged

Stop consuming FlatMap from Noa #1487

merged 1 commit into from
Jan 28, 2025

Conversation

jviotti
Copy link
Member

@jviotti jviotti commented Jan 28, 2025

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

Signed-off-by: Juan Cruz Viotti <[email protected]>
Copy link

@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)

Benchmark suite Current: 88f0d0c Previous: 201aa7f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.944549297033187 ns/iter 1.5980835741414527 ns/iter 1.22
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1950316462977955 ns/iter 1.6178076402601649 ns/iter 1.36
Regex_Period_Asterisk 1.8425626885002573 ns/iter 1.7000222243000345 ns/iter 1.08
Regex_Group_Period_Asterisk_Group 1.812060342065912 ns/iter 1.646715353420005 ns/iter 1.10
Regex_Period_Plus 2.388365319250393 ns/iter 1.989010734272712 ns/iter 1.20
Regex_Period 2.7712855005065866 ns/iter 1.929641275031006 ns/iter 1.44
Regex_Caret_Period_Plus_Dollar 2.793288027676016 ns/iter 1.9530980722652274 ns/iter 1.43
Regex_Caret_Group_Period_Plus_Group_Dollar 2.5285389314133444 ns/iter 1.9175469738652193 ns/iter 1.32
Regex_Caret_Period_Asterisk_Dollar 2.382347798698142 ns/iter 1.5892039966108558 ns/iter 1.50
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.591340750309269 ns/iter 1.5880433408592722 ns/iter 1.63
Regex_Caret_X_Hyphen 9.218858139702078 ns/iter 7.09987252347412 ns/iter 1.30
Regex_Period_Md_Dollar 85.60248523092845 ns/iter 78.71113424916216 ns/iter 1.09
Regex_Caret_Slash_Period_Asterisk 5.92254782180542 ns/iter 5.9977220086867 ns/iter 0.99
Regex_Caret_Period_Range_Dollar 2.5947893859121614 ns/iter 2.2941047775935175 ns/iter 1.13
Regex_Nested_Backtrack 888.3182386432235 ns/iter 748.1979835603626 ns/iter 1.19
JSON_Array_Of_Objects_Unique 437.45777197505885 ns/iter 341.2802203106311 ns/iter 1.28
JSON_Parse_1 32223.846500865457 ns/iter 22309.748020226725 ns/iter 1.44
JSON_Fast_Hash_Helm_Chart_Lock 58.3771568495138 ns/iter 50.12458306397027 ns/iter 1.16
JSON_Equality_Helm_Chart_Lock 156.7962357307004 ns/iter 124.82250927194394 ns/iter 1.26
JSON_String_Equal/10 10.33147883592636 ns/iter 7.585058122571117 ns/iter 1.36
JSON_String_Equal/100 8.002665597980828 ns/iter 6.087380636999724 ns/iter 1.31
JSON_String_Equal_Small_By_Perfect_Hash/10 0.38338845700502405 ns/iter 0.32236434209362524 ns/iter 1.19
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.0090676379863694 ns/iter 3.0228871540369577 ns/iter 1.33
JSON_String_Fast_Hash/10 2.1666715681007744 ns/iter 1.601857180018503 ns/iter 1.35
JSON_String_Fast_Hash/100 2.3447739707520485 ns/iter 2.001242060126806 ns/iter 1.17
JSON_String_Key_Hash/10 1.6599086956098288 ns/iter 1.3000064089785373 ns/iter 1.28
JSON_String_Key_Hash/100 1.5509644746256037 ns/iter 1.2896538841244762 ns/iter 1.20
JSON_Object_Defines_Miss_Same_Length 2.798707035815723 ns/iter 2.287600009309206 ns/iter 1.22
JSON_Object_Defines_Miss_Too_Small 2.5733215411617496 ns/iter 2.275607210305608 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Large 2.581872442715461 ns/iter 2.2741525298034553 ns/iter 1.14
Pointer_Object_Traverse 18.625575692924652 ns/iter 15.91208619025048 ns/iter 1.17
Pointer_Object_Try_Traverse 27.186009103034326 ns/iter 22.735927749874488 ns/iter 1.20
Pointer_Push_Back_Pointer_To_Weak_Pointer 196.4810183187448 ns/iter 178.25866034002152 ns/iter 1.10

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

Copy link

@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)

Benchmark suite Current: 88f0d0c Previous: 201aa7f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2046198026902792 ns/iter 2.234541442016952 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.2098213563769824 ns/iter 2.2024855874712386 ns/iter 1.00
Regex_Period_Asterisk 2.1966667298197002 ns/iter 2.2002548888487614 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.2396949716338517 ns/iter 2.2370510096000604 ns/iter 1.00
Regex_Period_Plus 2.4918251533563742 ns/iter 2.48771677433371 ns/iter 1.00
Regex_Period 2.488579708717639 ns/iter 2.488749336746948 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.491860947865768 ns/iter 2.51439839359413 ns/iter 0.99
Regex_Caret_Group_Period_Plus_Group_Dollar 2.49145375875574 ns/iter 2.4879646685561396 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 2.4893676610127677 ns/iter 2.4880796013226716 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.213496135888518 ns/iter 2.49285731953339 ns/iter 0.89
Regex_Caret_X_Hyphen 13.06925552415201 ns/iter 12.581782002696478 ns/iter 1.04
Regex_Period_Md_Dollar 83.00191921665154 ns/iter 81.53006497706555 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 5.90296974738417 ns/iter 6.8350707223293 ns/iter 0.86
Regex_Caret_Period_Range_Dollar 4.042339928459694 ns/iter 4.038831383660905 ns/iter 1.00
Regex_Nested_Backtrack 511.9724082825765 ns/iter 505.5526130000203 ns/iter 1.01
JSON_Array_Of_Objects_Unique 403.00422277234867 ns/iter 407.7814760423842 ns/iter 0.99
JSON_Parse_1 30181.659734533296 ns/iter 30964.134514376492 ns/iter 0.97
JSON_Fast_Hash_Helm_Chart_Lock 58.459047336466874 ns/iter 58.45663571846452 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 152.50446856864843 ns/iter 155.54109477933585 ns/iter 0.98
JSON_String_Equal/10 6.5423920128364985 ns/iter 7.470517051613525 ns/iter 0.88
JSON_String_Equal/100 7.165716722819464 ns/iter 8.089376195533045 ns/iter 0.89
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9347935119425217 ns/iter 0.9343899882056494 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.599575671886003 ns/iter 14.603027262407709 ns/iter 1.00
JSON_String_Fast_Hash/10 2.487049633194153 ns/iter 2.4907434544532294 ns/iter 1.00
JSON_String_Fast_Hash/100 2.485333895061402 ns/iter 2.486285618399496 ns/iter 1.00
JSON_String_Key_Hash/10 2.6507454590048165 ns/iter 2.6903106877732 ns/iter 0.99
JSON_String_Key_Hash/100 1.86666242932977 ns/iter 1.8667761976669963 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7346072043873235 ns/iter 3.7322901520026517 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7325873162573444 ns/iter 3.7365192721707583 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.734185631494654 ns/iter 3.7347947960852577 ns/iter 1.00
Pointer_Object_Traverse 43.85649505287516 ns/iter 44.097723342536035 ns/iter 0.99
Pointer_Object_Try_Traverse 52.27371871720855 ns/iter 52.44321353971982 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 288.3578787510586 ns/iter 293.30749911487163 ns/iter 0.98

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

@jviotti jviotti merged commit 73a59dc into main Jan 28, 2025
13 checks passed
@jviotti jviotti deleted the no-noa-flatmap branch January 28, 2025 14:41
Copy link

@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)

Benchmark suite Current: 88f0d0c Previous: 201aa7f Ratio
Pointer_Object_Traverse 49.81979617727065 ns/iter 51.14066424997992 ns/iter 0.97
Pointer_Object_Try_Traverse 26.49686948747113 ns/iter 26.424871923536205 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 137.15489148924644 ns/iter 137.23630778285332 ns/iter 1.00
JSON_Array_Of_Objects_Unique 403.38232143959306 ns/iter 427.9900838208122 ns/iter 0.94
JSON_Parse_1 33927.396577629734 ns/iter 33600.45239813669 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 67.5874375847271 ns/iter 64.30317698203201 ns/iter 1.05
JSON_Equality_Helm_Chart_Lock 140.23836233383403 ns/iter 144.02655478799477 ns/iter 0.97
JSON_String_Equal/10 5.98787031367097 ns/iter 5.993366518707128 ns/iter 1.00
JSON_String_Equal/100 6.614711659448134 ns/iter 6.6147717345995884 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6230353164077603 ns/iter 0.6306406366057179 ns/iter 0.99
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.29051526214545 ns/iter 14.289351790997793 ns/iter 1.00
JSON_String_Fast_Hash/10 0.932917085387739 ns/iter 0.9345565819037375 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9325707560603331 ns/iter 0.9353544826598945 ns/iter 1.00
JSON_String_Key_Hash/10 1.7111458784301636 ns/iter 1.7109630539540488 ns/iter 1.00
JSON_String_Key_Hash/100 2.0220630345948725 ns/iter 2.0252341595083987 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.1079906723815793 ns/iter 3.1393019364327253 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 2.7963545788547752 ns/iter 2.7997074499554175 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.486519961238234 ns/iter 2.486166177355755 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 2.796569418536844 ns/iter 2.7975787798756455 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.796302580446559 ns/iter 2.796281646433958 ns/iter 1.00
Regex_Period_Asterisk 2.796176301218888 ns/iter 2.7957025138950278 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.7970648036000014 ns/iter 2.7969285615114767 ns/iter 1.00
Regex_Period_Plus 3.417854633787875 ns/iter 3.4222584691039817 ns/iter 1.00
Regex_Period 3.418425777462128 ns/iter 3.4223577536878556 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.419253664139047 ns/iter 3.4220506671794313 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.4196620284866426 ns/iter 3.426832744558921 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.072862837417543 ns/iter 4.048202533186044 ns/iter 1.01
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.044070273621994 ns/iter 4.041709918590532 ns/iter 1.00
Regex_Caret_X_Hyphen 12.432708610670652 ns/iter 12.43081945229275 ns/iter 1.00
Regex_Period_Md_Dollar 102.57866397289642 ns/iter 93.7196440901218 ns/iter 1.09
Regex_Caret_Slash_Period_Asterisk 7.461472356862948 ns/iter 7.460252722140865 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.348290425181177 ns/iter 4.356012418731185 ns/iter 1.00
Regex_Nested_Backtrack 828.323776632974 ns/iter 835.8505635823649 ns/iter 0.99

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

Copy link

@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/gcc)

Benchmark suite Current: 88f0d0c Previous: 201aa7f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.7217446590197585 ns/iter 2.0997233744843733 ns/iter 1.30
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.448325282956577 ns/iter 1.9997025816170784 ns/iter 1.22
Regex_Period_Asterisk 2.3278941664777597 ns/iter 2.037572405070126 ns/iter 1.14
Regex_Group_Period_Asterisk_Group 2.2963003250170075 ns/iter 1.9937948148717874 ns/iter 1.15
Regex_Period_Plus 1.9921655098416498 ns/iter 1.71721257528561 ns/iter 1.16
Regex_Period 2.0210025485881364 ns/iter 1.6495946102669918 ns/iter 1.23
Regex_Caret_Period_Plus_Dollar 1.9439268974393782 ns/iter 1.7341295694495507 ns/iter 1.12
Regex_Caret_Group_Period_Plus_Group_Dollar 2.1291585372536086 ns/iter 1.7131398472052586 ns/iter 1.24
Regex_Caret_Period_Asterisk_Dollar 2.282827471115964 ns/iter 1.9609254690194118 ns/iter 1.16
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.510445129185885 ns/iter 1.9763751316555198 ns/iter 1.27
Regex_Caret_X_Hyphen 7.508263871122509 ns/iter 6.22681874093665 ns/iter 1.21
Regex_Period_Md_Dollar 83.18812628883555 ns/iter 71.4976132691297 ns/iter 1.16
Regex_Caret_Slash_Period_Asterisk 5.328535198385745 ns/iter 4.5333822596208035 ns/iter 1.18
Regex_Caret_Period_Range_Dollar 2.150231318819197 ns/iter 1.9582673309738345 ns/iter 1.10
Regex_Nested_Backtrack 906.6637366013229 ns/iter 862.0038491563802 ns/iter 1.05
JSON_Array_Of_Objects_Unique 233.1024464411626 ns/iter 223.04024033651106 ns/iter 1.05
JSON_Parse_1 27418.201371764248 ns/iter 23918.782365417377 ns/iter 1.15
JSON_Fast_Hash_Helm_Chart_Lock 25.546941968940242 ns/iter 24.411455840521562 ns/iter 1.05
JSON_Equality_Helm_Chart_Lock 123.44205731580593 ns/iter 114.03907602525355 ns/iter 1.08
JSON_String_Equal/10 5.8461439899168814 ns/iter 5.413220559822155 ns/iter 1.08
JSON_String_Equal/100 5.483903188082216 ns/iter 5.202780959831564 ns/iter 1.05
JSON_String_Equal_Small_By_Perfect_Hash/10 1.0179547470095829 ns/iter 1.007450230581849 ns/iter 1.01
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.933191259006409 ns/iter 3.7084341867976187 ns/iter 1.06
JSON_String_Fast_Hash/10 2.1069326158880424 ns/iter 2.04986263167727 ns/iter 1.03
JSON_String_Fast_Hash/100 2.176252190185932 ns/iter 1.952228368117017 ns/iter 1.11
JSON_String_Key_Hash/10 1.6098864864172955 ns/iter 1.500697532648391 ns/iter 1.07
JSON_String_Key_Hash/100 2.191834081528741 ns/iter 2.0609974353162768 ns/iter 1.06
JSON_Object_Defines_Miss_Same_Length 1.9059362199330767 ns/iter 1.8184828903555086 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Small 2.071632878928424 ns/iter 1.9797001760151622 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Large 1.9426643203873974 ns/iter 1.8208825179166015 ns/iter 1.07
Pointer_Object_Traverse 56.935985437997395 ns/iter 54.29158947767602 ns/iter 1.05
Pointer_Object_Try_Traverse 40.275140122017085 ns/iter 37.24810639208389 ns/iter 1.08
Pointer_Push_Back_Pointer_To_Weak_Pointer 170.33811496843558 ns/iter 172.56268673752015 ns/iter 0.99

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

Copy link

@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)

Benchmark suite Current: 88f0d0c Previous: 201aa7f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 7.388099967016911 ns/iter 7.091121651784857 ns/iter 1.04
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 7.070732142856632 ns/iter 6.911580357142709 ns/iter 1.02
Regex_Period_Asterisk 7.135670758928418 ns/iter 7.970574071560875 ns/iter 0.90
Regex_Group_Period_Asterisk_Group 7.131787468162712 ns/iter 6.823160714284983 ns/iter 1.05
Regex_Period_Plus 7.182200860792975 ns/iter 7.2601752232134436 ns/iter 0.99
Regex_Period 7.464088359534205 ns/iter 7.31007924107122 ns/iter 1.02
Regex_Caret_Period_Plus_Dollar 7.247158896218315 ns/iter 7.508563616071789 ns/iter 0.97
Regex_Caret_Group_Period_Plus_Group_Dollar 7.70107700892808 ns/iter 7.521664252136639 ns/iter 1.02
Regex_Caret_Period_Asterisk_Dollar 7.681592633929567 ns/iter 7.002910714284383 ns/iter 1.10
Regex_Caret_Group_Period_Asterisk_Group_Dollar 6.879505580358166 ns/iter 7.318847098213764 ns/iter 0.94
Regex_Caret_X_Hyphen 11.793445312498816 ns/iter 11.77541250000047 ns/iter 1.00
Regex_Period_Md_Dollar 155.6784598214226 ns/iter 149.26479910718015 ns/iter 1.04
Regex_Caret_Slash_Period_Asterisk 10.386584375000396 ns/iter 10.433210714284412 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 7.759388804646045 ns/iter 7.758664062499523 ns/iter 1.00
Regex_Nested_Backtrack 636.6786607142469 ns/iter 619.3226000000323 ns/iter 1.03
JSON_Array_Of_Objects_Unique 453.6815624999946 ns/iter 449.9729419715434 ns/iter 1.01
JSON_Parse_1 81086.74166331126 ns/iter 80649.46428572029 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 67.64408928571949 ns/iter 64.96771428570825 ns/iter 1.04
JSON_Equality_Helm_Chart_Lock 197.79952658924253 ns/iter 195.79995554466467 ns/iter 1.01
JSON_String_Equal/10 9.605160224976734 ns/iter 9.618754687497955 ns/iter 1.00
JSON_String_Equal/100 9.960408437677017 ns/iter 9.929729419958315 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1693268279361733 ns/iter 2.1649428125002146 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.137232142856355 ns/iter 14.891753504948648 ns/iter 1.02
JSON_String_Fast_Hash/10 3.7232957076366686 ns/iter 3.766949993273385 ns/iter 0.99
JSON_String_Fast_Hash/100 3.73177981476482 ns/iter 3.8189484889622607 ns/iter 0.98
JSON_String_Key_Hash/10 7.507976562500319 ns/iter 7.4698419309396185 ns/iter 1.01
JSON_String_Key_Hash/100 4.023317194684388 ns/iter 4.023559203614034 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7164342790780065 ns/iter 3.7155026719371556 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.723221779065194 ns/iter 3.715276064793996 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 4.967681000000539 ns/iter 4.959134821429449 ns/iter 1.00
Pointer_Object_Traverse 52.73925000000393 ns/iter 53.213800000003175 ns/iter 0.99
Pointer_Object_Try_Traverse 68.31609821428434 ns/iter 67.96050892857255 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 183.02514134153083 ns/iter 185.2056326076679 ns/iter 0.99

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