hpi-swa-lab / squeak-tracedebugger

A lightweight and interactive back-in-time debugger for Squeak to trace and retrace past method invocations and state changes. Powered by SimulationStudio.
https://hpi-swa-lab.github.io/squeak-tracedebugger/
MIT License
6 stars 0 forks source link

Add benchmark framework #4

Closed LinqLover closed 2 years ago

LinqLover commented 2 years ago

This PR adds a benchmark package (TraceDebuggerBenchmarks) for different time-critical components of the TraceDebugger. The benchmarks are arranged in subclasses of TDBBenchmark which has a similar design to SUnit's TestCase. All benchmarks are automatically run on the CI via an SUnit adapter TDBBenchmarkRunner that is run in a second smalltalkCI job via GitHub Actions. The benchmark-action/github-action-benchmark action is used to automatically store benchmark results on the gh-pages-benchmarks branch, analyze any performance decreases, and notify the author via commit comment. The TDBBenchmarkRunner also provides two more faculties: fetch and display historic benchmark results right in Squeak (TDBBenchmarkRunner exploreHistoricTimesToRun) and run the benchmark suite against historic commits (see the bulk running protocol).

The automatic benchmarks dashboard can be retrieved here:

Benchmarks