benchmarks
Nobody has claimed this yet.
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
It can happen that changes to code can result in examples running much slower, especially if answers that used to be cached no longer are, resulting in multiple slow computations of the same thing. Hence it would be good if all examples and tests in packages were timed, and times were logged regularly, to detect things slowing down. The detection should be done automatically by installPackage, and there should be a simple way to log the current running times with a new option to installPackage. The results could be stored in the package's auxiliary directory; we could eliminate the AuxiliaryFiles option to newPackage to make things easier.
It would be important to record running times in a way that takes the speed of the processor into account, perhaps by dividing the time to execute the example by the time to execute some standard benchmark of the underlying hardware. Experiments might be done to find the standard benchmark that correlates best with gb computation times.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the installPackage and newPackage entry points and inspect how package examples, tests, auxiliary files, and the AuxiliaryFiles option are handled. Determine how all examples and tests could be timed, how processor speed should be normalized, and where results would be stored. Done means automatic timing during installation plus an option to log current timings.
Written by the indexing model from the issue text.
Assessment
- Domain
- performance, testing, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100