Keep the API responsive.
BenchLab schedules implementations against datasets and returns comparable metrics. The API persists queued state; a Go worker executes the costly work and returns results through an authenticated callback.
Data flow
- 01 / REQUESTReact dashboardStarts a benchmark run.
- 02 / QUEUESpring APIPersists queued state and publishes work.
- 03 / DISPATCHRabbitMQSeparates API response time from execution.
- 04 / EXECUTEGo workerClaims the job and prepares the run.
- 05 / ISOLATEDocker runnerRuns the implementation in its language image.
- 06 / RETURNResults callbackReturns authenticated metrics to the API.
API data services
PostgreSQL: runs, metrics, artifacts · Redis: application cache
Execution boundary
Worker token protects callback · Docker socket is an explicit host-privilege trade-off
Benchmark methodology
Comparable runs
Stable datasets and bounded resources.
Stable datasets and bounded resources.
Warmups and repeats
Iterations reduce measurement noise.
Iterations reduce measurement noise.
Median results
Measured samples aggregate by median.
Measured samples aggregate by median.
Output validation
Measured output is checked for determinism.
Measured output is checked for determinism.