Reference
Benchmarks
All numbers below are measured with cargo bench on an Apple M2 (8-core, 16GB) running macOS 15, Rust 1.82, release build. Reproduce them yourself — the harness ships with the engine.
Startup
| Operation | Time |
|---|
Browser::new() | 191.70 µs |
Browser::with_config() | 90.97 µs |
HTML parsing
| Input size | Time | Throughput |
|---|
| 80 B (tiny) | 3.63 µs | 275,330 /s |
| 11.6 KB (medium page) | 134.32 µs | 7,444 /s |
| 124 KB (large table) | 1.13 ms | 885 /s |
CSS selectors
| Selector | Time | Throughput |
|---|
find("h1") | 496 ns | 2.0M /s |
find("a") | 487 ns | 2.1M /s |
find("p") | 1.71 µs | 585K /s |
find("body *") | 3.79 µs | 264K /s |
Content extraction
| Method | Time | Throughput |
|---|
page_html() | 26 ns | 38M /s |
page_title() | 182 ns | 5.5M /s |
page_text() | 589 ns | 1.7M /s |
get_links() | 518 ns | 1.9M /s |
page_markdown() | 3.84 µs | 261K /s |
page_json() | 9.42 µs | 106K /s |
JavaScript (Boa engine)
| Operation | Time |
|---|
| Simple eval | 0.6 ms |
| DOM query via JS | 1.2 ms |
Memory
Resident set size per idle browser instance: ~2 MB. 100 concurrent sessions: ~200 MB total, measured with ps -o rss after stabilization.
Reproduce
# Clone the engine crate (Enterprise license required)
git clone https://git.ilmenite.dev/engine
cd engine
cargo bench --bench benchmark