-
Notifications
You must be signed in to change notification settings - Fork 41
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
Add benchmark for user_events enabled check #133
base: main
Are you sure you want to change the base?
Add benchmark for user_events enabled check #133
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #133 +/- ##
=====================================
Coverage 54.1% 54.1%
=====================================
Files 42 42
Lines 6276 6276
=====================================
Hits 3401 3401
Misses 2875 2875 ☔ View full report in Codecov by Sentry. |
Have added the single and concurrent benchmark test to check if the trace-point is enabled, The result shows the regression as the number of threads are increased:
Will validate the test setup once again, and then we need to check tracepoint sdk for contention. |
} | ||
|
||
/// Benchmark `find_set` with a parameterized number of concurrent threads | ||
fn benchmark_find_set_concurrent(c: &mut Criterion) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we can simply re-use the existing stress test? (copy it over to contribute repo?)
Added stress test for this in #138. These are the results from stress test are as below (courtesy - chatgpt to generate it from console output)
At least. in both benchmark and stress test, there is substantial difference between single threaded, and multi-threaded results. The performance seems to be degraded substantially as we go from single thread to 2 threads: The flamegraph doesn't show much. Seems the find_set and enabled methods are aggressively inline'd, and the result doesn't go beyond the find_set call. |
Changes
Initial benchmark to check if the tracepoint is enabled. Need to add more benchmark to write to the tracepoint.
Merge requirement checklist
CHANGELOG.md
files updated for non-trivial, user-facing changes