MicroProfile
MicroProfile is an embeddable C++ profiler that developers add to a project using timer macros and the microprofile.cpp implementation file.
What MicroProfile is
MicroProfile is an embeddable C++ profiler that developers add to a project using timer macros and the microprofile.cpp implementation file. Its live view opens in Chrome through a host on port 1338 and can capture the last 30 frames by default. Captures are self-contained webpages that can be saved and shared; profile data can also be exported as HTML or CSV. It supports CPU profiling, GPU timing for OpenGL, D3D11, D3D12, and Vulkan, counters in live and capture views, and timeline markers for longer-running unique timers. A detailed view can compare two captures, though captures from earlier versions are incompatible with that comparison. Experimental dynamic instrumentation is available for Intel x86-64 on Windows, macOS, and Linux, with specific build requirements. The project lists Windows, macOS, and Linux support, and mentions unspecified console support. It is free and MIT-licensed. The default per-thread profiling buffer is 2 MB, with GPU buffers defaulting to 128 KB each.
Good
- Embeddable C++ implementation uses timer macros.
- GPU timers cover OpenGL, D3D11, D3D12, and Vulkan.
- Captures can be saved and shared as webpages.
- Counters and timeline markers are available.
- Free, with an MIT license.
Watch out
- Dynamic instrumentation is described as experimental.
- Capture comparison excludes captures from earlier versions.
- Dynamic instrumentation has specific build requirements.
- Default per-thread profiling buffer allocation is 2 MB.
Who it suits
MicroProfile suits C++ developers who want to examine CPU or GPU timing and frame behavior within a project. It may also fit teams that need shareable captures or HTML and CSV profile output.
Verdict
MicroProfile combines embedded timing instrumentation with live inspection and shareable capture output. Check its build requirements and version compatibility if dynamic instrumentation or capture comparison matters to your workflow.
Plans and prices
From MicroProfile's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| MicroProfile | Free | Embeddable C++ profiler · MIT licensed |
The facts
Each one read from MicroProfile's own pages, with the date it was checked.
What it does
- Capture comparison
- Two captures can be compared in detailed view, but captures from earlier versions are incompatible with this feature.checked 4 Oct 2026
- Capture output
- Captures are self-contained webpages that can be saved and shared, and profile data can also be dumped to HTML or CSV files.checked 4 Oct 2026
- Counters and timeline
- It supports counters shown in live and capture views, plus timeline markers for longer-running unique timers.checked 4 Oct 2026
- Dependencies
- The project lists miniz for compressed captures, distorm for dynamic instrumentation, stb_sprintf, raw_pdb, and Dear ImGui among its dependencies.checked 4 Oct 2026
- Dynamic instrumentation
- Dynamic instrumentation is supported on Intel x86-64 on Windows, macOS, and Linux, and the project describes it as experimental.checked 4 Oct 2026
- Dynamic instrumentation requirements
- Dynamic instrumentation requires MICROPROFILE_DYNAMIC_INSTRUMENT_ENABLE and linking distorm; Linux builds also need -rdynamic.checked 4 Oct 2026
- GPU timing
- GPU timers are available for OpenGL, D3D11, D3D12, and Vulkan.checked 4 Oct 2026
- Instrumentation
- Code can be instrumented with timer macros, and the implementation file microprofile.cpp must be included in the project.checked 4 Oct 2026
- License
- The repository’s license is MIT and grants permission to use, copy, modify, distribute, sublicense, and sell copies subject to its conditions.checked 4 Oct 2026
- Live view
- The live view runs by opening the profiler’s host on port 1338 in Chrome and can capture the last 30 frames by default.checked 4 Oct 2026
- Purpose
- MicroProfile is an embeddable profiler written in C++ and provided in a few files.checked 4 Oct 2026
- Resource use
- The default per-thread profiling buffer allocation is 2 MB, with GPU buffers defaulting to 128 KB each.checked 4 Oct 2026
The company
- Maker
- The GitHub profile identifies the maintainer as Jonas Meyer and lists Denmark.checked 4 Oct 2026
Alternatives to MicroProfile
- 1

Unity
Free planAndroidiOSWebAPI8.4Free plan - 2

Unity Version Control
Free planWebAPILinuxmacOS8.1Free plan - 3

GameBench
Free planAndroidiOSWebAPI7.6Free plan - 4

CRYENGINE
Free planAndroidiOSWebLinux7.5Free plan - 5

Cocos Creator
Free planAndroidiOSWebmacOS7.1Free plan - 6
Tracy Profiler
Free planAndroidiOSLinuxmacOS7.1Free plan
