OBERONLoading this pagePuck would be open by now.0 ms
Download

The numbers, and how we got them.

Both apps ran on the same PC: Intel Core i9-13900K (8 P-cores, 16 E-cores), 32 GB RAM, NVIDIA GeForce RTX 5090. One PC, dual boot. Every figure below is a median and keeps the conditions it was measured under. Where we measured only Puck, we say so.

Drawn to scale.

Each pair of circles has areas in proportion to the measurement. Puck is the oxide one. Windows 11, against GitHub Desktop 3.6.7.

Memory at rest: Puck 23.7 MiB, GitHub Desktop 112.1 MiB. Circles are drawn with areas to scale.
Memory at restPuck 23.7 MiBGitHub Desktop 112.1 MiB4.7×
Memory with 10,000 changed files: Puck 27.9 MiB, GitHub Desktop 127.6 MiB. Circles are drawn with areas to scale.
Memory with 10,000 changed filesPuck 27.9 MiBGitHub Desktop 127.6 MiB4.6×
Space on disk: Puck 82.8 MiB, GitHub Desktop 582 MiB. Circles are drawn with areas to scale.
Space on diskPuck 82.8 MiBGitHub Desktop 582 MiB7.0×

Cold start, as laps

Puck0.191 s0 laps

GitHub Desktop0.469 s0 laps

From process start to the first visible window. Each lap is one start, slowed ten times: Puck comes round about 2.5 times for each of GitHub Desktop’s.

Windows 11

Measured 2026-10-23. Puck: medians of 3 runs, release build. GitHub Desktop 3.6.7: medians of 10 runs. Memory is USS, the memory private to the app.

MeasurePuckGitHub Desktop 3.6.7
Cold start to window0.191 s0.469 s
Memory at rest (USS)23.7 MiB112.1 MiB
Memory, 10,000 changed files (USS)27.9 MiB127.6 MiB
CPU at rest, share of one core0.34 %0.31 %
Installed size82.8 MiB program582 MiB
Scroll 10,000 changed files, 95th-percentile frame2.8 msnot measured
Scroll 100,000 commits, 95th-percentile frame2.3 msnot measured
Open a 5,000-line diff37 msnot measured
Open the command palette10.3 msno palette

At rest, the two use about the same CPU on Windows. Puck’s installed program is 82.8 MiB; its Windows installer adds MinGit beside it, so you don’t need Git installed.

Linux

CachyOS with KDE Plasma on Wayland, kernel 7.3.1, measured 2026-11-01. Medians of 3 runs. GitHub Desktop has no official Linux build, so the reference is Desktop Plus 3.6.1, an Electron fork of it.

MeasurePuckDesktop Plus 3.6.1Puck uses
Memory at rest (PSS, 60 s after start)127.7 MiB378.3 MiB3.0× less
Memory, 10,000 changed files (PSS)145.2 MiB440.4 MiB3.0× less
CPU at rest, share of one core0.28 %0.93 %3.3× less
Installed size100 MiB646 MiB6.4× smaller

PSS counts each process’s share of shared memory across the app’s process tree: Desktop Plus runs seven processes, Puck one. About 60 MiB of Puck’s figure is what any GPU-drawn app pays on this machine for the NVIDIA driver’s libraries and its own code. Downloads: deb 18.6 MiB, pacman 23.2 MiB, AppImage 26.1 MiB.

Frame times on Linux

Timed by the UI framework’s frame profiler in a 960 × 660 window: the CPU time to draw one frame, where 16.6 ms is one frame at 60 fps. Medians of 3 runs, each scroll 600 frames.

ScenarioBudgetPerformance profileBalanced profile
Scroll 10,000 changed files, 95th-percentile frame16.6 ms1.9 ms7.8 ms
Scroll 100,000 commits, 95th-percentile frame16.6 ms1.9 ms8.1 ms
Open a 5,000-line diff150 ms10.3 ms12.0 ms
Show a git status result, after Git exits50 ms6.1 ms6.7 ms
Open the command palette16 ms9.6 ms12.1 ms
24 UI flows, every frame within 16.6 msall24 of 2422 of 24

On the balanced power profile the cores idle near 800 MHz and short frames end before the clock rises, so two of 24 flows drew one frame of 17 to 33 ms.

What these numbers don’t say

The Electron apps have no frame profiler hooks, so we couldn’t time their scrolling, diffs or palettes. Puck’s frame times show it’s fast. They don’t show it scrolls some number of times faster than GitHub Desktop, and we don’t claim that.

Cold start wasn’t measured on Linux: the harness finds windows with xdotool, which can’t see Wayland windows. Windows and Linux memory figures use different measures (USS and PSS) and can’t be compared with each other. The harness and raw results are kept with Puck’s source, under bench/.