# Benchmarking Every vlibc component is benchmarked against the software it replaces, per `musts/BENCHMARKING.md`. A component that is slower or worse at its task than the software it replaces is considered failing. ## Layout - Each benchmark harness is a standalone C program in this directory, named `bench_.c`. - `bench_vlibc.c` is the skeleton that per-component benchmarks build on. ## Running ```sh ./autogen.sh # configure (default: link against vlibc) make bench # build and run the harnesses # Reference comparison against the libc vlibc replaces: ./autogen.sh --with-libc=glibc make bench # musl reference (requires musl-gcc): ./autogen.sh --with-libc=musl make bench ``` ## Adding a benchmark 1. Add `bench_.c` here and list it in `benchmarks/Makefile.am`. 2. Measure the component against the equivalent glibc (and musl) call. 3. Report wall-clock time, throughput, and any binary-size difference. 4. If vlibc is slower, the benchmark fails — fix the implementation.