Skip to content
SPECIFICTION
Get listed

MicroProfile

github.com

Free plan WebWindowsmacOSLinuxSelf-hosted
Visit github.com
Spec score 7.8 #14 of 25 in Game Profiling Software

What it is

MicroProfile is a free, embeddable C++ profiler supplied in a few files for adding profiling to a project. Developers mark code with timer macros and include microprofile.cpp. Its live view is opened in Chrome by visiting the profiler host on port 1338, and it can capture the last 30 frames by default. Captures are self-contained webpages that can be saved and shared; profile data can also be written to HTML or CSV. GPU timers support OpenGL, D3D11, D3D12, and Vulkan. Counters appear in live and capture views, and timeline markers cover longer-running unique timers. A detailed view can compare two captures, but not captures made with earlier versions. Experimental dynamic instrumentation supports Intel x86-64 on Windows, macOS, and Linux, with MICROPROFILE_DYNAMIC_INSTRUMENT_ENABLE and distorm required; Linux builds also need -rdynamic. Default per-thread profiling buffers allocate 2 MB, and GPU buffers default to 128 KB each. The project is MIT-licensed and lists Windows, macOS, Linux, and unspecified console support.

Spec sheet

Purpose
MicroProfile is an embeddable profiler written in C++ and provided in a few files.Read 4 Oct 2026 · github.com
License
The repository’s license is MIT and grants permission to use, copy, modify, distribute, sublicense, and sell copies subject to its conditions.Read 4 Oct 2026 · github.com
Maker
The GitHub profile identifies the maintainer as Jonas Meyer and lists Denmark.Read 4 Oct 2026 · github.com
Capture comparison
Two captures can be compared in detailed view, but captures from earlier versions are incompatible with this feature.Read 4 Oct 2026 · github.com
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.Read 4 Oct 2026 · github.com
Counters and timeline
It supports counters shown in live and capture views, plus timeline markers for longer-running unique timers.Read 4 Oct 2026 · github.com
Dependencies
The project lists miniz for compressed captures, distorm for dynamic instrumentation, stb_sprintf, raw_pdb, and Dear ImGui among its dependencies.Read 4 Oct 2026 · github.com
Dynamic instrumentation
Dynamic instrumentation is supported on Intel x86-64 on Windows, macOS, and Linux, and the project describes it as experimental.Read 4 Oct 2026 · github.com
Dynamic instrumentation requirements
Dynamic instrumentation requires MICROPROFILE_DYNAMIC_INSTRUMENT_ENABLE and linking distorm; Linux builds also need -rdynamic.Read 4 Oct 2026 · github.com
GPU timing
GPU timers are available for OpenGL, D3D11, D3D12, and Vulkan.Read 4 Oct 2026 · github.com
Instrumentation
Code can be instrumented with timer macros, and the implementation file microprofile.cpp must be included in the project.Read 4 Oct 2026 · github.com
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.Read 4 Oct 2026 · github.com
Resource use
The default per-thread profiling buffer allocation is 2 MB, with GPU buffers defaulting to 128 KB each.Read 4 Oct 2026 · github.com

Plans and prices

MicroProfile Free Embeddable C++ profiler · MIT licensed Read 4 Oct 2026 · github.com

Every MicroProfile plan and price →

Strong points and limits

Strong points

  • Free and MIT-licensed.
  • Captures can be saved and shared as webpages.
  • GPU timers cover four listed graphics APIs.
  • Exports profile data to HTML or CSV.

Limits

  • Dynamic instrumentation is experimental.
  • Earlier-version captures cannot be compared in detailed view.
  • Dynamic instrumentation has additional build requirements.

Who it suits

MicroProfile suits C++ developers who want to add CPU and GPU profiling to a project and inspect frame captures. It is available for Windows, macOS, and Linux, with console support mentioned but not specified.

Verdict

MicroProfile offers an embeddable workflow with live viewing, capture export, and GPU timing. Developers considering dynamic instrumentation should account for its experimental status and platform-specific build requirements.

Where Specifiction places it

Alternatives to MicroProfileAll alternatives →