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