-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-testsuiteArea: The testsuite used to check the correctness of rustcArea: The testsuite used to check the correctness of rustcE-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
Description
We have few good, solid benchmarks that stress a single part of the codegen or libraries. These are necessary to be able to be able to easily spot perfomance regressions, as well as have a good quantitative data about Rust's performance.
Benchmarks should cover both space and time characteristics, and should use the built-in bench runner where possible. Some ideas:
- Allocating an object with a destructor
- Allocating a @-ptr
- Destructuring an enum/struct/tuple/tuple struct/vector
- Pattern matching
- Numeric manipulation (should be covered fairly well by the current shootout stuff, but should be extracted)
- Data structure manipulation (vec benchmarks etc, similar to what
core-map
and friends do) - String manipulation
- Method call
- Trait object method call
- Task communication (like
pingpong
does) with the various primitives (one-shots, streams, protocols) - Logging
An important note: these benchmarks aren't intended for comparison to other languages (although they could be useful for that in the future), but for tracking the performance of Rust.
Metadata
Metadata
Assignees
Labels
A-testsuiteArea: The testsuite used to check the correctness of rustcArea: The testsuite used to check the correctness of rustcE-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.