Skip to content

Speed up CRC-32 computation - #2828

Merged
jviotti merged 1 commit into
mainfrom
crc32-fast
Sep 14, 2026
Merged

jviotti merged 1 commit into
mainfrom
crc32-fast

Conversation

@jviotti

@jviotti jviotti commented Sep 14, 2026

Copy link
Copy Markdown
Member

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

Review in cubic

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

augmentcode Bot commented Sep 14, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR accelerates CRC-32 calculation while preserving the existing public API.

Changes:

  • Adds a shared slice-by-8 software helper for reuse by the fallback and vector reduction paths.
  • Adds ARM CRC32 chunk parallelization for large inputs when PMULL is unavailable.
  • Adds carry-less-multiply folding on ARM crypto-extension targets using PMULL.
  • Adds carry-less-multiply folding on x86 targets with PCLMUL support.
  • Introduces precomputed fold multipliers and CRC shift tables to combine independent chunks.
  • Processes 64-byte and 576-byte-plus inputs through separate folded-lane schedules.
  • Retains byte-wise handling for tails and the existing checksum initialization/finalization semantics.
Technical Notes: ISA feature macros gate intrinsic usage so unsupported ARM extensions continue to use the software fallback.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. No suggestions at this time.

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

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

1 issue found across 1 file

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/core/crypto/crypto_crc32.cc">

<violation number="1" location="src/core/crypto/crypto_crc32.cc:632">
P1: On Clang AArch64, `vmull_high_p64` can fail to produce the required `pmull2` operation, corrupting CRCs for inputs of at least 64 bytes. Reuse the existing `clmul_high` workaround or emit `pmull2` explicitly for the high-half multiply.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u8(source), 0),
vgetq_lane_p64(multipliers, 0)))};
const Crc32Vector high{vreinterpretq_u8_p128(
vmull_high_p64(vreinterpretq_p64_u8(source), multipliers))};

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1: On Clang AArch64, vmull_high_p64 can fail to produce the required pmull2 operation, corrupting CRCs for inputs of at least 64 bytes. Reuse the existing clmul_high workaround or emit pmull2 explicitly for the high-half multiply.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/core/crypto/crypto_crc32.cc, line 632:

<comment>On Clang AArch64, `vmull_high_p64` can fail to produce the required `pmull2` operation, corrupting CRCs for inputs of at least 64 bytes. Reuse the existing `clmul_high` workaround or emit `pmull2` explicitly for the high-half multiply.</comment>

<file context>
@@ -466,6 +559,247 @@ constexpr std::array<std::array<std::uint32_t, 256>, 8> CRC32_TABLES{
+      vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u8(source), 0),
+                vgetq_lane_p64(multipliers, 0)))};
+  const Crc32Vector high{vreinterpretq_u8_p128(
+      vmull_high_p64(vreinterpretq_p64_u8(source), multipliers))};
+  return veorq_u8(veorq_u8(low, high), destination);
+}
</file context>

@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: 6e15510 Previous: 3762bda Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.0289089285711395 ns/iter 5.182879464285861 ns/iter 0.97
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.985074999999597 ns/iter 5.144791000000168 ns/iter 0.97
Regex_Period_Asterisk 4.963001785714231 ns/iter 5.201686607143025 ns/iter 0.95
Regex_Group_Period_Asterisk_Group 4.956711094856614 ns/iter 5.257411000000047 ns/iter 0.94
Regex_Period_Plus 4.893796216280825 ns/iter 5.133780999999544 ns/iter 0.95
Regex_Period 4.658401139432648 ns/iter 5.2793969999999035 ns/iter 0.88
Regex_Caret_Period_Plus_Dollar 4.613020992439781 ns/iter 5.142744000000334 ns/iter 0.90
Regex_Caret_Group_Period_Plus_Group_Dollar 4.605171438850931 ns/iter 5.1450562500003265 ns/iter 0.90
Regex_Caret_Period_Asterisk_Dollar 5.035862000000293 ns/iter 5.163517000000297 ns/iter 0.98
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.001942999999756 ns/iter 5.183199107143314 ns/iter 0.97
Regex_Caret_X_Hyphen 7.876196428571498 ns/iter 8.217665178571792 ns/iter 0.96
Regex_Period_Md_Dollar 67.38742000000002 ns/iter 47.773166244938515 ns/iter 1.41
Regex_Caret_Slash_Period_Asterisk 7.486081473213931 ns/iter 7.920875000000065 ns/iter 0.95
Regex_Caret_Period_Range_Dollar 5.313417857142914 ns/iter 5.74358124999971 ns/iter 0.93
Regex_Nested_Backtrack 90.80079505353648 ns/iter 59.482499999999405 ns/iter 1.53
JSON_Array_Of_Objects_Unique 650.8347321428687 ns/iter 578.4784821428397 ns/iter 1.13
JSON_Parse_1 9601.87499162954 ns/iter 9310.378078669273 ns/iter 1.03
JSON_Parse_Real 16597.714047191286 ns/iter 15994.28571428569 ns/iter 1.04
JSON_Parse_Decimal 11266.959375000773 ns/iter 11821.639062500111 ns/iter 0.95
JSON_Parse_Schema_ISO_Language 8250293.3333336795 ns/iter 7843098.888888435 ns/iter 1.05
JSON_Parse_Integer 6005.459000000428 ns/iter 6389.548214285311 ns/iter 0.94
JSON_Parse_String_NonSSO_Plain 7825.525669643087 ns/iter 8101.604910714575 ns/iter 0.97
JSON_Parse_String_SSO_Plain 3815.9001116071827 ns/iter 3793.372209821249 ns/iter 1.01
JSON_Parse_String_Escape_Heavy 21829.165625000256 ns/iter 21791.31249999955 ns/iter 1.00
JSON_Parse_Object_Short_Keys 17777.41071428553 ns/iter 13307.775000000227 ns/iter 1.34
JSON_Parse_Object_Scalar_Properties 7270.676339285385 ns/iter 6746.647321428664 ns/iter 1.08
JSON_Parse_Object_Array_Properties 13589.926785714722 ns/iter 11619.243750000229 ns/iter 1.17
JSON_Parse_Object_Object_Properties 14100.487499999099 ns/iter 11799.417187500438 ns/iter 1.20
JSON_Parse_Nested_Containers 88818.34374999898 ns/iter 80964.17410714223 ns/iter 1.10
JSON_From_String_Copy 66.05405357143061 ns/iter 63.74560714285897 ns/iter 1.04
JSON_From_String_Temporary 88.79362103599243 ns/iter 59.01545535714092 ns/iter 1.50
JSON_Number_To_Double 137.61378571428753 ns/iter 118.73732142856649 ns/iter 1.16
JSON_Object_At_Last_Key/8 8.262492820257119 ns/iter 7.731799107143342 ns/iter 1.07
JSON_Object_At_Last_Key/32 26.587663274161926 ns/iter 24.468070039419793 ns/iter 1.09
JSON_Object_At_Last_Key/128 112.52174497670741 ns/iter 89.9540513392884 ns/iter 1.25
JSON_Object_At_Last_Key/512 597.3953999999821 ns/iter 423.906125000002 ns/iter 1.41
JSON_Fast_Hash_Helm_Chart_Lock 140.75647809122557 ns/iter 102.29015168347954 ns/iter 1.38
JSON_Equality_Helm_Chart_Lock 211.25750619387125 ns/iter 218.28284374999285 ns/iter 0.97
JSON_Divisible_By_Decimal 342.54759954507006 ns/iter 310.3946104470183 ns/iter 1.10
JSON_String_Equal/10 10.877500000000317 ns/iter 10.89847812500011 ns/iter 1.00
JSON_String_Equal/100 11.759755357142053 ns/iter 11.920914285714243 ns/iter 0.99
JSON_String_Equal_Small_By_Perfect_Hash/10 2.232186874999975 ns/iter 2.5126500870423687 ns/iter 0.89
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.015884758856817 ns/iter 14.199856409822429 ns/iter 0.99
JSON_String_Fast_Hash/10 6.482618749999907 ns/iter 6.716601562500075 ns/iter 0.97
JSON_String_Fast_Hash/100 6.810392857142895 ns/iter 6.602101785714202 ns/iter 1.03
JSON_String_Key_Hash/10 5.001861000000076 ns/iter 5.341637500000067 ns/iter 0.94
JSON_String_Key_Hash/100 11.023240624999708 ns/iter 11.893990625000406 ns/iter 0.93
JSON_Object_Defines_Miss_Same_Length 4.0493431249998935 ns/iter 4.092599069808426 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 4.128720065121141 ns/iter 4.408946373102955 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Large 3.96037109375001 ns/iter 4.083241337463136 ns/iter 0.97
Pointer_Object_Traverse 82.91862499999881 ns/iter 71.40166071428565 ns/iter 1.16
Pointer_Object_Try_Traverse 70.82489285714644 ns/iter 70.74935267857059 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 184.0372396461851 ns/iter 191.4686343094454 ns/iter 0.96
Pointer_Walker_Schema_ISO_Language 12266583.928570593 ns/iter 11137143.750000078 ns/iter 1.10
Pointer_Maybe_Tracked_Deeply_Nested/0 2416289.772727275 ns/iter 2459713.2575757653 ns/iter 0.98
Pointer_Maybe_Tracked_Deeply_Nested/1 3613188.2051283633 ns/iter 3725692.5133690364 ns/iter 0.97
Pointer_Position_Tracker_Get_Deeply_Nested 582.513058035694 ns/iter 515.5211452229256 ns/iter 1.13
Schema_Tracker_ISO_Language 11317899.99999988 ns/iter 11180117.187499227 ns/iter 1.01
Schema_Tracker_ISO_Language_To_JSON 67936772.7272713 ns/iter 66207218.181819946 ns/iter 1.03
Schema_Frame_WoT_References 5618594.00000003 ns/iter 5566255.357142629 ns/iter 1.01
Schema_Frame_OMC_References 27148512.00000112 ns/iter 24224523.333333537 ns/iter 1.12
Schema_Frame_OMC_Pointers 51470200.0000036 ns/iter 44788066.66666818 ns/iter 1.15
Schema_Frame_OMC_Locations 22310015.6250009 ns/iter 19952052.941176016 ns/iter 1.12
Schema_Frame_ISO_Language_Locations 96811628.57142615 ns/iter 83523733.33333516 ns/iter 1.16
Schema_Frame_ISO_Language_Root 2621.2303010293913 ns/iter 2160.5006249998837 ns/iter 1.21
Schema_Frame_KrakenD_References 46554920.000001706 ns/iter 40947388.2352947 ns/iter 1.14
Schema_Frame_KrakenD_Reachable 245985800.00002813 ns/iter 262354666.66666222 ns/iter 0.94
Schema_Frame_ISO_Language_Locations_To_JSON 183708625.0000084 ns/iter 166144875.00000054 ns/iter 1.11
Schema_Frame_Many_Resources_References 685978500.0000329 ns/iter 730482699.9999819 ns/iter 0.94
Schema_Frame_Deeply_Nested_References 22690140.624998633 ns/iter 23076818.181819323 ns/iter 0.98
JSONPath_Descendant_Filter_Nested 2359.0701349663927 ns/iter 2398.9058047926455 ns/iter 0.98
URITemplateRouter_Create 39154.268973216684 ns/iter 42258.337853309 ns/iter 0.93
URITemplateRouter_Match 219.95093928133687 ns/iter 233.92735112417157 ns/iter 0.94
URITemplateRouter_Match_BasePath 251.10820858168148 ns/iter 266.3011792991437 ns/iter 0.94
URITemplateRouterView_Restore 25573.3009524519 ns/iter 33490.52641447639 ns/iter 0.76
URITemplateRouterView_Match 171.77097802037548 ns/iter 177.43511902467606 ns/iter 0.97
URITemplateRouterView_Match_BasePath 197.15616307337592 ns/iter 204.56928125000215 ns/iter 0.96
URITemplateRouterView_Arguments 587.0983035714111 ns/iter 544.0120535714093 ns/iter 1.08
JSONL_Parse_Large 33013740.000001233 ns/iter 33422433.33333358 ns/iter 0.99
JSONL_Parse_Large_GZIP 32626399.99999941 ns/iter 33546252.631577104 ns/iter 0.97
JSONLD_Catalog_Annotation_List_Populate 3213758.9285716116 ns/iter 3066504.237288223 ns/iter 1.05
JSONLD_Catalog_Materialize 10973709.374999529 ns/iter 8994317.777777877 ns/iter 1.22
HTML_Build_Table_100000 103052542.85714228 ns/iter 92592428.57142779 ns/iter 1.11
HTML_Render_Table_100000 8123985.555555338 ns/iter 7840072.222222717 ns/iter 1.04
GZIP_Compress_ISO_Language_Set_3_Locations 38173861.11111255 ns/iter 35755521.0526327 ns/iter 1.07
GZIP_Decompress_ISO_Language_Set_3_Locations 10857856.250000352 ns/iter 10010711.999999937 ns/iter 1.08
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 13843471.428572228 ns/iter 12529994.642857136 ns/iter 1.10
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 31602568.18181944 ns/iter 43506681.250001125 ns/iter 0.73
GZIP_Compress_ISO_Language_Set_3_Schema 2320252.1428570678 ns/iter 2121417.6811593897 ns/iter 1.09
GZIP_Decompress_ISO_Language_Set_3_Schema 644175.357142832 ns/iter 626801.6999999873 ns/iter 1.03
JOSE_VerifySignature_RS256 23826.47857142826 ns/iter 21384.71875000114 ns/iter 1.11
JOSE_VerifySignature_ES512 1557667.0682730353 ns/iter 1371400.8032128692 ns/iter 1.14
CRYPTO_CRC32_Large_JSONL 116400.69642857449 ns/iter 775796.3169642754 ns/iter 0.15

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: 6e15510 Previous: 3762bda Ratio
CRYPTO_CRC32_Large_JSONL 39535.21340613963 ns/iter 499653.74835886894 ns/iter 0.07912522128773072
JOSE_VerifySignature_RS256 16021.283641283728 ns/iter 18974.731020109524 ns/iter 0.84
JOSE_VerifySignature_ES512 418825.64489793085 ns/iter 503603.24928157683 ns/iter 0.83
GZIP_Compress_ISO_Language_Set_3_Locations 24553984.9999992 ns/iter 30124750.13043592 ns/iter 0.82
GZIP_Decompress_ISO_Language_Set_3_Locations 3131053.210762222 ns/iter 2816169.957031267 ns/iter 1.11
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 4157181.2814372145 ns/iter 4067386.918604878 ns/iter 1.02
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 10961686.781250535 ns/iter 22490233.48386917 ns/iter 0.49
GZIP_Compress_ISO_Language_Set_3_Schema 1441144.031809226 ns/iter 1753310.824561449 ns/iter 0.82
GZIP_Decompress_ISO_Language_Set_3_Schema 262065.40279350788 ns/iter 206949.03130044765 ns/iter 1.27
HTML_Build_Table_100000 45068843.91666687 ns/iter 49804274.46153394 ns/iter 0.90
HTML_Render_Table_100000 2853717.04115244 ns/iter 2034118.8770492063 ns/iter 1.40
JSONLD_Catalog_Annotation_List_Populate 535619.9593869811 ns/iter 536674.2968868492 ns/iter 1.00
JSONLD_Catalog_Materialize 2434746.1114981417 ns/iter 2685460.5096526323 ns/iter 0.91
JSONL_Parse_Large 6289247.374999617 ns/iter 7449808.765957331 ns/iter 0.84
JSONL_Parse_Large_GZIP 6760862.932692428 ns/iter 8545008.891565798 ns/iter 0.79
URITemplateRouter_Create 11534.18216627534 ns/iter 14890.899815338336 ns/iter 0.77
URITemplateRouter_Match 101.7628434047802 ns/iter 109.79211836307424 ns/iter 0.93
URITemplateRouter_Match_BasePath 113.92900469554658 ns/iter 130.34541691483054 ns/iter 0.87
URITemplateRouterView_Restore 2407.939125706561 ns/iter 7582.089948794027 ns/iter 0.32
URITemplateRouterView_Match 80.88655588287126 ns/iter 93.57911883533595 ns/iter 0.86
URITemplateRouterView_Match_BasePath 89.82629688903704 ns/iter 105.6157645885014 ns/iter 0.85
URITemplateRouterView_Arguments 361.3344367787011 ns/iter 354.3833133636879 ns/iter 1.02
JSONPath_Descendant_Filter_Nested 1029.9368353258662 ns/iter 1415.4989989348855 ns/iter 0.73
Schema_Frame_WoT_References 1549480.8098434247 ns/iter 1778267.8447837946 ns/iter 0.87
Schema_Frame_OMC_References 6815167.754901794 ns/iter 8159107.298850139 ns/iter 0.84
Schema_Frame_OMC_Pointers 12750219.125000026 ns/iter 15317607.326086665 ns/iter 0.83
Schema_Frame_OMC_Locations 6068411.572649481 ns/iter 6960505.049019672 ns/iter 0.87
Schema_Frame_ISO_Language_Locations 27087358.416667465 ns/iter 34364562.619045846 ns/iter 0.79
Schema_Frame_ISO_Language_Root 166.22765456952428 ns/iter 204.7325506009024 ns/iter 0.81
Schema_Frame_KrakenD_References 11154302.836065408 ns/iter 12676517.88888905 ns/iter 0.88
Schema_Frame_KrakenD_Reachable 85508188.99998881 ns/iter 84844196.22219422 ns/iter 1.01
Schema_Frame_ISO_Language_Locations_To_JSON 22800583.1142858 ns/iter 27654126.458330095 ns/iter 0.82
Schema_Frame_Many_Resources_References 112777757.66667257 ns/iter 113015931.00000674 ns/iter 1.00
Schema_Frame_Deeply_Nested_References 7894995.820224773 ns/iter 8817157.00000001 ns/iter 0.90
Pointer_Object_Traverse 15.737775631931894 ns/iter 19.155589144151477 ns/iter 0.82
Pointer_Object_Try_Traverse 18.658856021468523 ns/iter 20.239123578899182 ns/iter 0.92
Pointer_Push_Back_Pointer_To_Weak_Pointer 98.45252298085553 ns/iter 104.44460497928276 ns/iter 0.94
Pointer_Walker_Schema_ISO_Language 1515077.7685775761 ns/iter 1067071.8670788927 ns/iter 1.42
Pointer_Maybe_Tracked_Deeply_Nested/0 891949.801556433 ns/iter 976107.4597221864 ns/iter 0.91
Pointer_Maybe_Tracked_Deeply_Nested/1 1335768.8025361926 ns/iter 1370700.2712871965 ns/iter 0.97
Pointer_Position_Tracker_Get_Deeply_Nested 513.4754179999845 ns/iter 516.3506435384232 ns/iter 0.99
Schema_Tracker_ISO_Language 3530934.6530611115 ns/iter 3847716.3387979786 ns/iter 0.92
Schema_Tracker_ISO_Language_To_JSON 11008655.984374726 ns/iter 11971669.52542213 ns/iter 0.92
JSON_Array_Of_Objects_Unique 250.72498889467016 ns/iter 356.1698537339895 ns/iter 0.70
JSON_Parse_1 3601.6910408678787 ns/iter 3999.3761784398803 ns/iter 0.90
JSON_Parse_Real 3755.6025214990195 ns/iter 4180.645734213762 ns/iter 0.90
JSON_Parse_Decimal 6426.454794672489 ns/iter 6839.806101813607 ns/iter 0.94
JSON_Parse_Schema_ISO_Language 2741300.2119999416 ns/iter 2857808.295081694 ns/iter 0.96
JSON_Parse_Integer 2388.1706597995444 ns/iter 2856.253228198465 ns/iter 0.84
JSON_Parse_String_NonSSO_Plain 2068.7551045644054 ns/iter 2752.5819885089068 ns/iter 0.75
JSON_Parse_String_SSO_Plain 1947.680815373536 ns/iter 2193.5633748494142 ns/iter 0.89
JSON_Parse_String_Escape_Heavy 11294.924696470229 ns/iter 12922.46494166201 ns/iter 0.87
JSON_Parse_Object_Short_Keys 5825.6453008880835 ns/iter 8527.180298413854 ns/iter 0.68
JSON_Parse_Object_Scalar_Properties 2973.767975841023 ns/iter 4300.896604881807 ns/iter 0.69
JSON_Parse_Object_Array_Properties 4059.7790239100013 ns/iter 5194.25355162148 ns/iter 0.78
JSON_Parse_Object_Object_Properties 4134.03465958822 ns/iter 5096.4194972257055 ns/iter 0.81
JSON_Parse_Nested_Containers 25164.632945198773 ns/iter 31204.042554137275 ns/iter 0.81
JSON_From_String_Copy 5.457336257513021 ns/iter 8.128687402965294 ns/iter 0.67
JSON_From_String_Temporary 4.400929472025985 ns/iter 6.267042168689348 ns/iter 0.70
JSON_Number_To_Double 17.313824812623533 ns/iter 16.140403473981742 ns/iter 1.07
JSON_Object_At_Last_Key/8 5.221427074216962 ns/iter 4.915658070849637 ns/iter 1.06
JSON_Object_At_Last_Key/32 21.911433306342676 ns/iter 18.285700727741663 ns/iter 1.20
JSON_Object_At_Last_Key/128 53.89273010000011 ns/iter 70.67872780844947 ns/iter 0.76
JSON_Object_At_Last_Key/512 175.98326463183514 ns/iter 294.03523646519426 ns/iter 0.60
JSON_Fast_Hash_Helm_Chart_Lock 45.106204240857025 ns/iter 74.77448061131656 ns/iter 0.60
JSON_Equality_Helm_Chart_Lock 101.51881595693044 ns/iter 122.10784181945934 ns/iter 0.83
JSON_Divisible_By_Decimal 204.43753766047976 ns/iter 201.26806725007762 ns/iter 1.02
JSON_String_Equal/10 4.077079076858343 ns/iter 4.457234971827489 ns/iter 0.91
JSON_String_Equal/100 5.104220112818891 ns/iter 5.257108973243561 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7672792228951641 ns/iter 0.5530734394494343 ns/iter 1.39
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.289217222908535 ns/iter 17.14061404963113 ns/iter 0.78
JSON_String_Fast_Hash/10 1.7703034028269093 ns/iter 2.4725832533191343 ns/iter 0.72
JSON_String_Fast_Hash/100 1.876711092117212 ns/iter 2.476490382856097 ns/iter 0.76
JSON_String_Key_Hash/10 0.6221076684554839 ns/iter 0.8424869807142179 ns/iter 0.74
JSON_String_Key_Hash/100 9.878449445856067 ns/iter 11.44706211509094 ns/iter 0.86
JSON_Object_Defines_Miss_Same_Length 2.1171357107311826 ns/iter 2.4584718552617746 ns/iter 0.86
JSON_Object_Defines_Miss_Too_Small 2.1152536799539523 ns/iter 2.456289862614307 ns/iter 0.86
JSON_Object_Defines_Miss_Too_Large 2.034039900380982 ns/iter 2.455153741880343 ns/iter 0.83
Regex_Lower_S_Or_Upper_S_Asterisk 1.578858981984941 ns/iter 1.8422336973230768 ns/iter 0.86
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.5625656145134337 ns/iter 1.8425080837364236 ns/iter 0.85
Regex_Period_Asterisk 1.7499343573164294 ns/iter 1.7758532031204404 ns/iter 0.99
Regex_Group_Period_Asterisk_Group 1.6210296971905735 ns/iter 1.7741435974108595 ns/iter 0.91
Regex_Period_Plus 1.564237888836403 ns/iter 1.8418962908594538 ns/iter 0.85
Regex_Period 1.5620030409211476 ns/iter 1.8416716605739267 ns/iter 0.85
Regex_Caret_Period_Plus_Dollar 1.6245482136057994 ns/iter 1.7737548869289061 ns/iter 0.92
Regex_Caret_Group_Period_Plus_Group_Dollar 1.5890668006941915 ns/iter 1.7744811725438907 ns/iter 0.90
Regex_Caret_Period_Asterisk_Dollar 1.5650227066965228 ns/iter 1.841712239367325 ns/iter 0.85
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.5663716043725309 ns/iter 1.8419992157101241 ns/iter 0.85
Regex_Caret_X_Hyphen 3.757286911697566 ns/iter 5.866773573862065 ns/iter 0.64
Regex_Period_Md_Dollar 14.766036027272778 ns/iter 40.12197936394302 ns/iter 0.37
Regex_Caret_Slash_Period_Asterisk 3.707004298469276 ns/iter 7.025813381968999 ns/iter 0.53
Regex_Caret_Period_Range_Dollar 1.801156430517377 ns/iter 3.210996813106787 ns/iter 0.56
Regex_Nested_Backtrack 26.084719829929284 ns/iter 40.660527622389765 ns/iter 0.64

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

@jviotti
jviotti merged commit 1693c07 into main Sep 14, 2026
15 checks passed
@jviotti
jviotti deleted the crc32-fast branch September 14, 2026 15:58

@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: 6e15510 Previous: 3762bda Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2775974720777348 ns/iter 1.4388628617671257 ns/iter 1.58
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0450862317364704 ns/iter 1.4412316364572986 ns/iter 1.42
Regex_Period_Asterisk 2.0760590790785 ns/iter 1.4386524382326624 ns/iter 1.44
Regex_Group_Period_Asterisk_Group 2.348039188919329 ns/iter 1.438512926168468 ns/iter 1.63
Regex_Period_Plus 2.450036529537234 ns/iter 1.7297182042623709 ns/iter 1.42
Regex_Period 2.3700925110254545 ns/iter 1.7281072937390436 ns/iter 1.37
Regex_Caret_Period_Plus_Dollar 2.725943579828526 ns/iter 1.7255008755404817 ns/iter 1.58
Regex_Caret_Group_Period_Plus_Group_Dollar 2.615695545339739 ns/iter 1.7532435020865065 ns/iter 1.49
Regex_Caret_Period_Asterisk_Dollar 2.345745030294808 ns/iter 1.4368010034923495 ns/iter 1.63
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.405295146009728 ns/iter 1.8034871583821643 ns/iter 1.33
Regex_Caret_X_Hyphen 7.204384546467422 ns/iter 5.233702841315789 ns/iter 1.38
Regex_Period_Md_Dollar 28.197408024654205 ns/iter 14.619075361748598 ns/iter 1.93
Regex_Caret_Slash_Period_Asterisk 5.940338362626113 ns/iter 3.839480730912139 ns/iter 1.55
Regex_Caret_Period_Range_Dollar 2.5739063980273125 ns/iter 2.0232437552092937 ns/iter 1.27
Regex_Nested_Backtrack 37.104549788679776 ns/iter 27.901258784649205 ns/iter 1.33
JSON_Array_Of_Objects_Unique 495.6384695325157 ns/iter 347.409990763793 ns/iter 1.43
JSON_Parse_1 4047.8262110604824 ns/iter 3186.774895169611 ns/iter 1.27
JSON_Parse_Real 6238.361348675617 ns/iter 5115.255950356025 ns/iter 1.22
JSON_Parse_Decimal 6136.417574988076 ns/iter 5622.082752648705 ns/iter 1.09
JSON_Parse_Schema_ISO_Language 2459845.878136085 ns/iter 2262386.846405504 ns/iter 1.09
JSON_Parse_Integer 3761.615272567363 ns/iter 3193.794995214438 ns/iter 1.18
JSON_Parse_String_NonSSO_Plain 3602.722779692542 ns/iter 2961.4118201505744 ns/iter 1.22
JSON_Parse_String_SSO_Plain 2058.3543005199326 ns/iter 1663.7023456603558 ns/iter 1.24
JSON_Parse_String_Escape_Heavy 21015.961848366147 ns/iter 17454.88395401491 ns/iter 1.20
JSON_Parse_Object_Short_Keys 6950.410984535504 ns/iter 5531.463446185877 ns/iter 1.26
JSON_Parse_Object_Scalar_Properties 3758.3318759068106 ns/iter 2907.466841541792 ns/iter 1.29
JSON_Parse_Object_Array_Properties 4232.198237937366 ns/iter 3647.077805478687 ns/iter 1.16
JSON_Parse_Object_Object_Properties 4132.145266208955 ns/iter 3722.5344912274054 ns/iter 1.11
JSON_Parse_Nested_Containers 28817.232606602345 ns/iter 23612.296760210313 ns/iter 1.22
JSON_From_String_Copy 13.281966277520793 ns/iter 16.10894278700282 ns/iter 0.82
JSON_From_String_Temporary 7.0132725204362325 ns/iter 5.297415936309199 ns/iter 1.32
JSON_Number_To_Double 37.71871715689708 ns/iter 33.75930050676905 ns/iter 1.12
JSON_Object_At_Last_Key/8 4.938800414913143 ns/iter 4.026985953443284 ns/iter 1.23
JSON_Object_At_Last_Key/32 15.826247825768162 ns/iter 12.480799281530743 ns/iter 1.27
JSON_Object_At_Last_Key/128 69.76971201190347 ns/iter 55.78997353030243 ns/iter 1.25
JSON_Object_At_Last_Key/512 220.12171840926118 ns/iter 192.90572011612812 ns/iter 1.14
JSON_Fast_Hash_Helm_Chart_Lock 73.63103341361965 ns/iter 61.43277851071499 ns/iter 1.20
JSON_Equality_Helm_Chart_Lock 216.55651769814511 ns/iter 156.37526135021136 ns/iter 1.38
JSON_Divisible_By_Decimal 243.17471178651584 ns/iter 181.16833292549916 ns/iter 1.34
JSON_String_Equal/10 8.225125249710121 ns/iter 7.404134433842143 ns/iter 1.11
JSON_String_Equal/100 8.39810658363699 ns/iter 6.8118634269186416 ns/iter 1.23
JSON_String_Equal_Small_By_Perfect_Hash/10 0.4305236546584907 ns/iter 0.3394237216760458 ns/iter 1.27
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.115904960735161 ns/iter 3.1347857394688776 ns/iter 1.31
JSON_String_Fast_Hash/10 2.830529024566191 ns/iter 2.449779682295907 ns/iter 1.16
JSON_String_Fast_Hash/100 2.531898281868694 ns/iter 2.021700642345407 ns/iter 1.25
JSON_String_Key_Hash/10 1.9866338016996201 ns/iter 1.524875579337234 ns/iter 1.30
JSON_String_Key_Hash/100 2.2795484535882093 ns/iter 2.080207807292964 ns/iter 1.10
JSON_Object_Defines_Miss_Same_Length 3.1331707509339775 ns/iter 2.857136248328209 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Small 3.4561586428506432 ns/iter 2.82138946727033 ns/iter 1.22
JSON_Object_Defines_Miss_Too_Large 3.179892917342363 ns/iter 2.7820125096043444 ns/iter 1.14
Pointer_Object_Traverse 23.89870752714193 ns/iter 19.430840934617652 ns/iter 1.23
Pointer_Object_Try_Traverse 44.34747923034379 ns/iter 34.40467850443483 ns/iter 1.29
Pointer_Push_Back_Pointer_To_Weak_Pointer 173.20639825278712 ns/iter 139.09092932282726 ns/iter 1.25
Pointer_Walker_Schema_ISO_Language 2108266.248803536 ns/iter 1153016.8247619646 ns/iter 1.83
Pointer_Maybe_Tracked_Deeply_Nested/0 1096810.4681405122 ns/iter 865704.4419161972 ns/iter 1.27
Pointer_Maybe_Tracked_Deeply_Nested/1 1206580.4777779265 ns/iter 1099005.3846154087 ns/iter 1.10
Pointer_Position_Tracker_Get_Deeply_Nested 461.53738026680924 ns/iter 351.581598720213 ns/iter 1.31
Schema_Tracker_ISO_Language 3547339.9725273396 ns/iter 2845050.96280981 ns/iter 1.25
Schema_Tracker_ISO_Language_To_JSON 13034634.573767137 ns/iter 11174680.774192233 ns/iter 1.17
Schema_Frame_WoT_References 3430201.3888895274 ns/iter 2160856.0254777144 ns/iter 1.59
Schema_Frame_OMC_References 15029279.179998413 ns/iter 9723069.253520638 ns/iter 1.55
Schema_Frame_OMC_Pointers 26690978.26087043 ns/iter 19114724.108107653 ns/iter 1.40
Schema_Frame_OMC_Locations 12768260.83999822 ns/iter 8061596.449437367 ns/iter 1.58
Schema_Frame_ISO_Language_Locations 29069139.47826386 ns/iter 20602613.636363074 ns/iter 1.41
Schema_Frame_ISO_Language_Root 171.18487393866758 ns/iter 98.74457847656146 ns/iter 1.73
Schema_Frame_KrakenD_References 24117349.999999404 ns/iter 12739507.446428075 ns/iter 1.89
Schema_Frame_KrakenD_Reachable 258003791.33321866 ns/iter 136389600.20005018 ns/iter 1.89
Schema_Frame_ISO_Language_Locations_To_JSON 42673713.866664305 ns/iter 21495616.151514005 ns/iter 1.99
Schema_Frame_Many_Resources_References 178313104.24998036 ns/iter 97155381.00000945 ns/iter 1.84
Schema_Frame_Deeply_Nested_References 18161743.20930089 ns/iter 11407133.453124274 ns/iter 1.59
JSONPath_Descendant_Filter_Nested 1761.5338417320654 ns/iter 1124.8777048221125 ns/iter 1.57
URITemplateRouter_Create 24666.93083797127 ns/iter 17736.446975840874 ns/iter 1.39
URITemplateRouter_Match 223.12311628106954 ns/iter 157.31273899252875 ns/iter 1.42
URITemplateRouter_Match_BasePath 247.34847560453488 ns/iter 182.98552149741317 ns/iter 1.35
URITemplateRouterView_Restore 14225.782346142838 ns/iter 9219.955562666984 ns/iter 1.54
URITemplateRouterView_Match 159.86942034245158 ns/iter 124.7649776416995 ns/iter 1.28
URITemplateRouterView_Match_BasePath 184.03005186339084 ns/iter 149.63884870552212 ns/iter 1.23
URITemplateRouterView_Arguments 650.3721866241298 ns/iter 526.0956111485909 ns/iter 1.24
JSONL_Parse_Large 7300204.427082236 ns/iter 7408072.800000667 ns/iter 0.99
JSONL_Parse_Large_GZIP 9082362.705128571 ns/iter 7999205.724999569 ns/iter 1.14
JSONLD_Catalog_Annotation_List_Populate 765399.127748619 ns/iter 431721.04561607353 ns/iter 1.77
JSONLD_Catalog_Materialize 3125402.24175901 ns/iter 1943129.971591033 ns/iter 1.61
HTML_Build_Table_100000 57422041.666662455 ns/iter 34893682.57143204 ns/iter 1.65
HTML_Render_Table_100000 1892772.0529244803 ns/iter 902526.1964769763 ns/iter 2.10
GZIP_Compress_ISO_Language_Set_3_Locations 32726740.913047884 ns/iter 24367084.821428925 ns/iter 1.34
GZIP_Decompress_ISO_Language_Set_3_Locations 4246033.147728151 ns/iter 3074108.9467212865 ns/iter 1.38
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 6318732.487395645 ns/iter 4103310.876623503 ns/iter 1.54
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 20542172.29729639 ns/iter 17677383.789472707 ns/iter 1.16
GZIP_Compress_ISO_Language_Set_3_Schema 1865599.5378786302 ns/iter 1523987.1591837313 ns/iter 1.22
GZIP_Decompress_ISO_Language_Set_3_Schema 395165.881826803 ns/iter 283756.2667432131 ns/iter 1.39
JOSE_VerifySignature_RS256 29467.62132237775 ns/iter 23547.501341496256 ns/iter 1.25
JOSE_VerifySignature_ES512 1304033.3067995866 ns/iter 813471.3941520507 ns/iter 1.60
CRYPTO_CRC32_Large_JSONL 28080.930025886173 ns/iter 166148.16239116574 ns/iter 0.17

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/llvm)

Details
Benchmark suite Current: 6e15510 Previous: 1693c07 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.910800912457564 ns/iter 2.208652913495102 ns/iter 0.87
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9096009301521428 ns/iter 2.19237597311329 ns/iter 0.87
Regex_Period_Asterisk 1.909438746019653 ns/iter 2.190872308290862 ns/iter 0.87
Regex_Group_Period_Asterisk_Group 1.9092630830626542 ns/iter 2.184801745617032 ns/iter 0.87
Regex_Period_Plus 2.9993807014766336 ns/iter 2.8024781613097436 ns/iter 1.07
Regex_Period 3.001657624143176 ns/iter 2.801147052423257 ns/iter 1.07
Regex_Caret_Period_Plus_Dollar 2.9990901023729237 ns/iter 2.803299520445005 ns/iter 1.07
Regex_Caret_Group_Period_Plus_Group_Dollar 2.9994681561771874 ns/iter 2.8023405161868835 ns/iter 1.07
Regex_Caret_Period_Asterisk_Dollar 1.9131133128652338 ns/iter 3.116645179352523 ns/iter 0.61
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.9094141293709737 ns/iter 3.111632804095733 ns/iter 0.61
Regex_Caret_X_Hyphen 4.152586193839739 ns/iter 6.542211897228424 ns/iter 0.63
Regex_Period_Md_Dollar 20.34982178621736 ns/iter 27.175000394256198 ns/iter 0.75
Regex_Caret_Slash_Period_Asterisk 5.181483604548004 ns/iter 6.847914073753908 ns/iter 0.76
Regex_Caret_Period_Range_Dollar 1.9117891156083537 ns/iter 3.7340372822747407 ns/iter 0.51
Regex_Nested_Backtrack 30.069669109482767 ns/iter 38.2511646476452 ns/iter 0.79
JSON_Array_Of_Objects_Unique 339.08320144841184 ns/iter 433.42992263592737 ns/iter 0.78
JSON_Parse_1 3511.5347066905692 ns/iter 4593.6767089337345 ns/iter 0.76
JSON_Parse_Real 3980.6932639850684 ns/iter 5225.4177081158205 ns/iter 0.76
JSON_Parse_Decimal 6069.411278241519 ns/iter 7862.267707595382 ns/iter 0.77
JSON_Parse_Schema_ISO_Language 2740679.3937008544 ns/iter 3328178.3142856946 ns/iter 0.82
JSON_Parse_Integer 3066.5396061194 ns/iter 3748.2626548880794 ns/iter 0.82
JSON_Parse_String_NonSSO_Plain 2410.9599164068973 ns/iter 3187.904812843965 ns/iter 0.76
JSON_Parse_String_SSO_Plain 2320.0886027882434 ns/iter 2735.1629315566465 ns/iter 0.85
JSON_Parse_String_Escape_Heavy 9719.347971149136 ns/iter 12223.242821756106 ns/iter 0.80
JSON_Parse_Object_Short_Keys 6472.697043217384 ns/iter 7724.709938388027 ns/iter 0.84
JSON_Parse_Object_Scalar_Properties 3301.0052142349273 ns/iter 3932.8573910696077 ns/iter 0.84
JSON_Parse_Object_Array_Properties 4461.003434009274 ns/iter 5717.044352309691 ns/iter 0.78
JSON_Parse_Object_Object_Properties 4268.072985369931 ns/iter 5810.932830432954 ns/iter 0.73
JSON_Parse_Nested_Containers 28068.850904528845 ns/iter 35490.19830517031 ns/iter 0.79
JSON_From_String_Copy 11.35335835736098 ns/iter 11.937363028284066 ns/iter 0.95
JSON_From_String_Temporary 9.204294207985411 ns/iter 10.112495319201363 ns/iter 0.91
JSON_Number_To_Double 17.394548514349466 ns/iter 22.193143610885105 ns/iter 0.78
JSON_Object_At_Last_Key/8 5.169036451083488 ns/iter 5.916392340560973 ns/iter 0.87
JSON_Object_At_Last_Key/32 18.292927150714107 ns/iter 21.48911479567474 ns/iter 0.85
JSON_Object_At_Last_Key/128 70.71492980026461 ns/iter 87.77647279166021 ns/iter 0.81
JSON_Object_At_Last_Key/512 296.3151337759654 ns/iter 403.03492102836174 ns/iter 0.74
JSON_Fast_Hash_Helm_Chart_Lock 56.158246136340175 ns/iter 59.80317395482813 ns/iter 0.94
JSON_Equality_Helm_Chart_Lock 133.33327374107148 ns/iter 169.0953291265978 ns/iter 0.79
JSON_Divisible_By_Decimal 186.85923749982737 ns/iter 236.9665202633584 ns/iter 0.79
JSON_String_Equal/10 4.371612524902947 ns/iter 5.925065354173133 ns/iter 0.74
JSON_String_Equal/100 5.184288963249535 ns/iter 6.549291716100397 ns/iter 0.79
JSON_String_Equal_Small_By_Perfect_Hash/10 0.8183101188629587 ns/iter 0.9360700174827221 ns/iter 0.87
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.623402649575901 ns/iter 10.272789803713328 ns/iter 0.94
JSON_String_Fast_Hash/10 1.9099881376553982 ns/iter 2.491398019298289 ns/iter 0.77
JSON_String_Fast_Hash/100 1.9116505415735097 ns/iter 2.4930894421491123 ns/iter 0.77
JSON_String_Key_Hash/10 2.1824720012306233 ns/iter 2.4946015485010826 ns/iter 0.87
JSON_String_Key_Hash/100 6.000492500104434 ns/iter 6.540089815013838 ns/iter 0.92
JSON_Object_Defines_Miss_Same_Length 2.269486265736194 ns/iter 2.7287864471957746 ns/iter 0.83
JSON_Object_Defines_Miss_Too_Small 2.311477764959076 ns/iter 2.7140742050616162 ns/iter 0.85
JSON_Object_Defines_Miss_Too_Large 2.52988286960598 ns/iter 3.194647918670777 ns/iter 0.79
Pointer_Object_Traverse 24.056610286057374 ns/iter 29.387918577624514 ns/iter 0.82
Pointer_Object_Try_Traverse 25.33473199307198 ns/iter 30.338378208850973 ns/iter 0.84
Pointer_Push_Back_Pointer_To_Weak_Pointer 124.30574462689616 ns/iter 145.5833468144632 ns/iter 0.85
Pointer_Walker_Schema_ISO_Language 1348546.6795132235 ns/iter 1546858.7192982154 ns/iter 0.87
Pointer_Maybe_Tracked_Deeply_Nested/0 999545.5179340095 ns/iter 1243757.5926573284 ns/iter 0.80
Pointer_Maybe_Tracked_Deeply_Nested/1 1280661.3992674453 ns/iter 1664966.4700239839 ns/iter 0.77
Pointer_Position_Tracker_Get_Deeply_Nested 527.6993625822489 ns/iter 608.6614153667599 ns/iter 0.87
Schema_Tracker_ISO_Language 3809886.2108110576 ns/iter 4559370.1298701735 ns/iter 0.84
Schema_Tracker_ISO_Language_To_JSON 13365398.249999972 ns/iter 16583900.348837364 ns/iter 0.81
Schema_Frame_WoT_References 1711727.8068460112 ns/iter 2360288.5050167306 ns/iter 0.73
Schema_Frame_OMC_References 9246223.539473943 ns/iter 9517559.219178075 ns/iter 0.97
Schema_Frame_OMC_Pointers 17198833.58536591 ns/iter 18117601.00000015 ns/iter 0.95
Schema_Frame_OMC_Locations 7815029.056818514 ns/iter 8221952.270588082 ns/iter 0.95
Schema_Frame_ISO_Language_Locations 35806326.052633464 ns/iter 42063180.874999166 ns/iter 0.85
Schema_Frame_ISO_Language_Root 216.32744413835536 ns/iter 295.49061167759015 ns/iter 0.73
Schema_Frame_KrakenD_References 14924307.51063887 ns/iter 15480841.434782261 ns/iter 0.96
Schema_Frame_KrakenD_Reachable 92247564.9999959 ns/iter 134864530.79998454 ns/iter 0.68
Schema_Frame_ISO_Language_Locations_To_JSON 27840204.20000161 ns/iter 31931598.304348208 ns/iter 0.87
Schema_Frame_Many_Resources_References 121632961.33333765 ns/iter 136171206.19999808 ns/iter 0.89
Schema_Frame_Deeply_Nested_References 9467468.123287521 ns/iter 11117973.984374974 ns/iter 0.85
JSONPath_Descendant_Filter_Nested 1190.1680380242233 ns/iter 1565.0693624076305 ns/iter 0.76
URITemplateRouter_Create 15848.85416994322 ns/iter 23217.448581502376 ns/iter 0.68
URITemplateRouter_Match 130.08226687289292 ns/iter 178.20999534417263 ns/iter 0.73
URITemplateRouter_Match_BasePath 158.789859846601 ns/iter 206.58970470290598 ns/iter 0.77
URITemplateRouterView_Restore 7764.09951967208 ns/iter 8488.643693360495 ns/iter 0.91
URITemplateRouterView_Match 128.02217435224514 ns/iter 161.9953465050232 ns/iter 0.79
URITemplateRouterView_Match_BasePath 146.04839132960007 ns/iter 185.84649774235808 ns/iter 0.79
URITemplateRouterView_Arguments 347.97414692256126 ns/iter 431.60608359260334 ns/iter 0.81
JSONL_Parse_Large 7177481.632652995 ns/iter 9446078.864865083 ns/iter 0.76
JSONL_Parse_Large_GZIP 7887810.704545472 ns/iter 10454528.850746373 ns/iter 0.75
JSONLD_Catalog_Annotation_List_Populate 453660.42428199603 ns/iter 597137.8479184418 ns/iter 0.76
JSONLD_Catalog_Materialize 2792728.296442743 ns/iter 3608053.8969071144 ns/iter 0.77
HTML_Build_Table_100000 51787376.38461738 ns/iter 57031245.72727347 ns/iter 0.91
HTML_Render_Table_100000 2165008.2356323297 ns/iter 1876500.2921053576 ns/iter 1.15
GZIP_Compress_ISO_Language_Set_3_Locations 27387616.076923065 ns/iter 32423412.454544507 ns/iter 0.84
GZIP_Decompress_ISO_Language_Set_3_Locations 3334116.1100478265 ns/iter 4250969.048484876 ns/iter 0.78
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 4669538.174496683 ns/iter 6253103.999999913 ns/iter 0.75
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 17073305.73170738 ns/iter 19984933.771427546 ns/iter 0.85
GZIP_Compress_ISO_Language_Set_3_Schema 1620333.2909930653 ns/iter 1857289.1193633012 ns/iter 0.87
GZIP_Decompress_ISO_Language_Set_3_Schema 215067.23247233292 ns/iter 359531.6855378346 ns/iter 0.60
JOSE_VerifySignature_RS256 40265.97958830791 ns/iter 48375.68598066277 ns/iter 0.83
JOSE_VerifySignature_ES512 1509601.701943877 ns/iter 1729612.9262898567 ns/iter 0.87
CRYPTO_CRC32_Large_JSONL 88856.655674848 ns/iter 101782.88521486199 ns/iter 0.87

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