Performance & Efficiency
Why ForgeKit feels fast
ForgeKit is designed to stay out of your way.
No heavy virtualization, no hidden background services, and no unnecessary overhead. What you run is exactly what you configure, nothing more.
No virtualization overhead
ForgeKit runs everything natively on your machine:
- No Docker containers
- No virtual machines
- No abstraction layers
This means your web servers and databases run exactly as they would in production, with no extra performance cost.
On-demand architecture
ForgeKit is built around a simple model:
Binaries → Instances → Sites
- Binaries are installed but idle until used
- Instances only run when you start them
- Sites are just lightweight configurations
Nothing runs unless you explicitly enable it.
Real-world resource usage
From an active development setup:
- 3 web servers
- 1 database server
- 7 sites
ForgeKit itself remains lightweight:
- ForgeKit Agent (Go): ~20-40 MB RAM
- Windows Webview: ~100-200 MB RAM
Combined, ForgeKit typically uses around 200 MB of memory.
What actually uses memory
Most resource usage comes from the services you run:
- Apache / Nginx instances
- MySQL / MariaDB
- PHP processes
These are real server processes, not virtualized or sandboxed, so their memory usage reflects a production-like environment.
Database (MySQL / MariaDB) memory usage
- Typically: 300–800+ MB
Depends heavily on:
- Buffer pool size
- Database size
- Active queries
👉 Usually the biggest RAM consumer.
Web Server (Apache / Nginx)
- Apache processes: ~10–60 MB each
Multiple processes may run depending on load and configuration.
PHP
- CLI / FastCGI processes: ~20 MB each
Example:
- php.exe (CLI / tools like phpMyAdmin): ~10-20 MB
phpMyAdmin (optional)
- Runs only when opened
- Uses a lightweight PHP server process
👉 If unused, it consumes 0 RAM
Important notes
- Memory is distributed across multiple processes
- Windows may show several smaller processes instead of one large one
- Total usage should be considered as a sum of all related processes
About Tauri and WebView
ForgeKit uses Tauri, which renders the UI using the system’s built-in WebView instead of bundling a full browser engine (like Electron does).
This results in:
- Lower memory usage
- Faster startup
- Smaller application size
In real-world usage, ForgeKit typically uses significantly less memory than Electron-based tools.
About PHP performance on Windows
PHP on Windows can be slightly slower compared to Linux due to:
- Filesystem differences
- Process handling differences
- Extension compatibility nuances
👉 However, for most local development workflows, this difference is negligible and does not impact day-to-day productivity.
Minimal overhead by design
ForgeKit does not add significant overhead on top of your stack.
It simply orchestrates the tools you choose to run:
- No containers
- No virtual machines
- No duplicated environments
Performance is determined by your stack, not by ForgeKit itself.
Built with lightweight technologies
ForgeKit is built using:
- Go → efficient background agent
- Rust (Tauri) → native desktop performance
- System WebView (no bundled browser engine)
- No Electron, no heavy runtime layers
This keeps ForgeKit itself lightweight and responsive.
No hidden layers
ForgeKit uses the same underlying technologies you already trust:
- Apache
- Nginx
- MySQL / MariaDB
- PHP
There is no abstraction layer changing how they behave.
Summary
ForgeKit doesn't try to be faster through magic.
It's efficient because:
- It removes unnecessary layers
- It runs natively
- It adds minimal overhead (~20–30 MB core)
- It gives you full control
Your system resources are used by the services you choose — not by ForgeKit itself.
Continue to → Binaries and Runtimes
Or check → Architecture