Skip to content

Add TCPChecksum to SVE microbenchmark#5039

Merged
LoopedBard3 merged 5 commits intodotnet:mainfrom
ylpoonlg:github-tcpchecksum
Mar 23, 2026
Merged

Add TCPChecksum to SVE microbenchmark#5039
LoopedBard3 merged 5 commits intodotnet:mainfrom
ylpoonlg:github-tcpchecksum

Conversation

@ylpoonlg
Copy link
Contributor

Performance Results

Run on Neoverse-V2

Method Size Mean Error StdDev Median Min Max Allocated
Scalar 527 105.68 ns 0.105 ns 0.088 ns 105.65 ns 105.62 ns 105.93 ns -
Vector128TCPChecksum 527 13.82 ns 0.017 ns 0.013 ns 13.82 ns 13.79 ns 13.83 ns -
SveTCPChecksum 527 26.27 ns 0.236 ns 0.220 ns 26.35 ns 25.87 ns 26.59 ns -
Scalar 1234 213.40 ns 0.096 ns 0.080 ns 213.40 ns 213.28 ns 213.59 ns -
Vector128TCPChecksum 1234 30.98 ns 0.393 ns 0.307 ns 30.88 ns 30.85 ns 31.94 ns -
SveTCPChecksum 1234 58.24 ns 0.249 ns 0.233 ns 58.25 ns 57.77 ns 58.51 ns -
Scalar 10015 2,036.12 ns 1.814 ns 1.697 ns 2,036.36 ns 2,033.20 ns 2,038.84 ns -
Vector128TCPChecksum 10015 285.82 ns 0.885 ns 0.739 ns 285.58 ns 285.20 ns 287.46 ns -
SveTCPChecksum 10015 475.23 ns 0.922 ns 0.770 ns 474.84 ns 474.68 ns 477.21 ns -

cc @dotnet/arm64-contrib @SwapnilGaikwad @LoopedBard3

LoopedBard3
LoopedBard3 previously approved these changes Mar 17, 2026
Copy link
Member

@LoopedBard3 LoopedBard3 left a comment

Choose a reason for hiding this comment

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

Looks good, thanks for the benchmarks!

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new SVE-focused microbenchmark to measure TCP-style checksum computation and compare scalar vs AdvSimd (Vector128) vs SVE implementations, consistent with the existing src/benchmarks/micro/sve benchmark suite.

Changes:

  • Introduces TCPChecksum benchmark with scalar, Vector128/AdvSimd, and SVE variants.
  • Adds deterministic packet/length generation in GlobalSetup and scalar equivalence validation in GlobalCleanup.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Copy link
Member

@LoopedBard3 LoopedBard3 left a comment

Choose a reason for hiding this comment

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

Thanks for the tests!

@LoopedBard3 LoopedBard3 merged commit e46e482 into dotnet:main Mar 23, 2026
74 checks passed
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.

3 participants