Make performance tests more systematic
- Dominant language
- Julia
- Stars
- 117
- Forks
- 19
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 41
Description
**Is your feature request related to a problem? Please describe.**
Our existing performance tests are currently a mixture of allocation tests, inference tests, and benchmarks written at different times and with different goals in mind. It might be nice if we more systematically organize our performance tests.
Looking at our test suite, it seems like there are a few performance tests that we could apply to all of our operators:
##### Deterministic
- Inference (JET)
- Allocations `@allocated`
- GFlops (can replace the comparison against ordinary arrays)
- Test counted number of `" inbounds "` occurrences in llvm output. (IntrospectionTools.jl)
##### Non-deterministic,
- `BenchmarkTools.@btime` (with all the deterministic tests in place, benchmarks can be made soft fail)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by surveying the existing performance tests, which currently mix allocation tests, inference tests, and benchmarks. Identify how JET, @allocated, GFlops, IntrospectionTools.jl LLVM inspection, and BenchmarkTools.@btime are currently used. Done means the performance tests are organized systematically across operators, with deterministic checks separated from soft-fail benchmarks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- performance, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100