Benchmarks comparing Bootgly with alternatives.
| Benchmarks | Interface | Result |
|---|---|---|
| Progress Bar | CLI | ≈ 7x faster than Laravel / Symfony Progress Bar to render 250k iterations |
| Template Engine - foreach | ABI | ≈ 9x faster than Laravel Blade (without sacrificing features) |
| HTTP Server CLI | WPI | TechEmpower benchmark: 6 canonical routes (/plaintext, /json, /db, /query, /fortunes, /updates) vs opponents |
| Cache | ABI | Per-driver × per-operation matrix (File / APCu / Shared / Redis): store, fetch, increment, tags, resolve, ... |
git clone https://github.com/bootgly/bootgly.git
git clone https://github.com/bootgly/bootgly_benchmarks.gitExpected directory layout:
parent/
├── bootgly/
└── bootgly_benchmarks/
cd bootgly
./bootgly test benchmark <CASE>Available cases:
./bootgly test benchmark HTTP_Server_CLI
./bootgly test benchmark Progress_Bar
./bootgly test benchmark Template_Engine
./bootgly test benchmark Cache# List available cases
./bootgly test benchmark --help
# Show case-specific options
./bootgly test benchmark HTTP_Server_CLI --helpThe benchmark framework lives in bootgly/Bootgly/ACI/Tests/Benchmark/ and provides:
- Configs — parsed CLI options (
--opponents,--runner,--loads,--vary) - Opponents — a named entry (with version and script path) to benchmark against
- Runner — abstract executor that drives each benchmark. Built-in runners:
Runner CLI Name Use Case Code codeLocal code execution (time + memory) TCP_Client tcp_clientHTTP load testing via Bootgly's TCP client - Load — a request distribution script (PHP for TCP_Client)
Each benchmark case has a @.php entry-point that selects a runner, configures it, and registers opponents.
