Closed
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.