skjelten / emusc

A software synthesizer emulating the Sound Canvas SC-55 lineup
GNU General Public License v3.0
205 stars 15 forks source link

Performance testing utility #59

Open mmontag opened 4 months ago

mmontag commented 4 months ago

On the topic of CPU issues and regressions, I think it would be really useful to have some kind of utility for benchmarking performance and testing for regressions.

This doesn't have to be formal test code or integrated into Github actions for now. It could be a little script or C++ file. It just needs to render some MIDI fixtures to WAV files and spit out some perf stats comparing local changes to master.

Then we'll be in a good position to improve performance.

The advanced version of this would automatically run against pull requests and attach its output to the PR, but again, that's not really necessary.

WDYT?

skjelten commented 4 months ago

I am very positive to all efforts towards adding automated tests. Since the CPU usage seems to be our biggest challenge at the moment, and something we need to improve a lot, it is a good candidate for focus on the first test.

Note that this is a field where I have no practical experience myself, so I will leave it for others to suggest a path forward.