-
-
Notifications
You must be signed in to change notification settings - Fork 174
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 a benchmarking mode #758
Comments
Which of the subsystems are fundamental? Is it all the crates in the kernel directory? I think flamegraph seems like a good choice of benchmarking tool. It can help us see at a glance where performance bottlenecks exist in the OS. Do you agree with my recommendation? |
Mostly just the task subsystem. It's hard to test because everything is a task, and so any tasks not relevant to the benchmark impact the benchmark. For example, in #759 the benchmark tasks have to be pinned to core 3 so that they don't yield to the
Flamegraph relies on |
I found another benchmarker: bencher. It seems to be very lightweight with minimal dependencies (if any at all). Would this be a good choice? |
Currently, benchmarking fundamental subsystems (e.g. the task subsystem) is hard. It'd be nice to have a configuration option to run a benchmarking application rather than the shell at startup. The mode would minimise the number of tasks spawned before the benchmark is run, improving the accuracy of benchmarks.
Ideally, there'd also be some automation to repeat benchmark runs, calculating averages, standard deviations, etc.
The text was updated successfully, but these errors were encountered: