-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Adjust client payload benchmarks to better represent real world cases #9835
Conversation
CodSpeed Performance ReportMerging #9835 will not alter performanceComparing Summary
Benchmarks breakdown
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
✅ All tests successful. No failed tests found. Additional details and impacted files@@ Coverage Diff @@
## master #9835 +/- ##
=======================================
Coverage 98.70% 98.70%
=======================================
Files 118 118
Lines 36148 36148
Branches 4294 4294
=======================================
Hits 35680 35680
Misses 315 315
Partials 153 153
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Backport to 3.10: 💚 backport PR created✅ Backport PR branch: Backported as #9836 🤖 @patchback |
Backport to 3.11: 💚 backport PR created✅ Backport PR branch: Backported as #9837 🤖 @patchback |
…o better represent real world cases (#9837) Co-authored-by: J. Nick Koston <nick@koston.org>
…o better represent real world cases (#9836) Co-authored-by: J. Nick Koston <nick@koston.org>
We are interested in benchmarking various payload sizes at different buffering cut offs to see the
memcpy
and buffering impacts2048 was too high as most small payloads are < 1024
32768 was two high as it always did two reads for this case so it wasn't giving us a case for a single large read.
1MiB was fine but 512KiB is also fine as it still gives us a benchmark for a multi-read case but there was no need to go that high as it didn't change the profile and only made the benchmark run longer
Note I'm testing on mac. I'm going to test on linux shortly since thats where the bulk of our users are. The breakpoints are going to be dictated by the kernel. If the linux buffer sizes are lower by default, I'll adjust the 2nd one down some more. Ideally we keep it as high as possible to see the memcpy effects but not so high that the message ends up in multiple readsThe 30000 size is good for linux as well as it results in a single read.