Flagship project · Built and operated independently

BenchLab

Queue-backed benchmark execution that keeps long-running, multi-language workloads outside the product API.

JavaSpring BootReactRabbitMQGoPostgreSQLRedisDocker

What it does

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.

Architecture and data flow

React Dashboard
Spring API
RabbitMQ
run request
Go Worker
Docker Runner
language image
Results Callback → 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.
Warmups and repeats
Iterations reduce measurement noise.
Median results
Measured samples aggregate by median.
Output validation
Measured output is checked for determinism.

Trade-off

RabbitMQ separates API response time from execution. Docker containers isolate submitted programs, but a Docker-socket mount is a meaningful security boundary; a production evolution would use hardened remote runners.