Measured on 2026-11-08. These numbers are generated by a script (npm run metrics in the docs/ folder) rather than typed by hand.
|
|
| Executable |
1.1 MB (1,196,032 bytes) |
| Compressed (gzip -9, as a download would be) |
752 KB |
| Includes |
the server, the web interface, SQLite and the TLS bindings |
| Needs |
nothing else: no runtime, no installer, no database server |
|
Raw |
Compressed (gzip) |
| JavaScript |
474 KB |
184 KB |
| CSS |
126 KB |
19 KB |
Inside the executable these files are stored gzip-compressed (and sent to the browser as they are). For how the executable got this small, and what is left in it, see Binary size.
|
|
| Start-up (process start to first successful response) |
48 ms |
| Memory at rest (working set after a short burst of requests) |
5.9 MB |
| Network |
listens on 127.0.0.1 only by default; no outgoing connections unless you use a feature that needs one |
|
|
| Rust |
about 3734 lines |
| Web interface (JavaScript, JSX and CSS) |
about 13618 lines |
| Tests |
about 4373 lines, 619 tests |
| Rust crates (all, including indirect) |
55 |
| Direct Rust dependencies |
4 |
| npm packages shipped to the browser |
4 |
|
|
| Widgets |
47 |
| Launcher tools |
40, plus search and commands |
A clean cargo build --release (compiling every dependency) takes about 47 seconds.
- Machine: win32 · 12 logical CPUs · 32 GB RAM.
- Size is the release executable produced by
build.ps1. “Compressed” is the same file gzipped at level 9.
- Start-up starts the executable with an empty database and counts the time until
/api/tiles first answers.
- Memory is the process working set, read two seconds after forty requests.
- Build time is a clean build into an empty target directory.
- Your numbers will differ with your hardware; the file sizes will not.