Open a raw file
Decode, GPU upload, demosaic and pyramid, for a 24–26 MP raw
70–250 ms
From the README, 29 Sept 2026.
Performance
Redlamp is built to answer every slider within a frame. These are its measurements over time, on an Apple M1 Ultra with a Release build: the figures the README recorded as the work landed, and the runs its benchmark harness records now. A metric counts as faster or slower only when it moves by more than 10%, or by more than its runs' own spread.
What a slider costs while you drag it, and the whole photo at 1:1, beside one frame of a 120 Hz and a 60 Hz display.
Each metric's latest figure against its first, from the same source on the same machine. Some work makes a step slower on purpose, for better results; the change that did it is named beside each.
157 ms on 30 Sept 2026, 5 ms on 30 Sept 2026
1d243f3 Port the histogram and Tone Curve panel to AppKit
7.5 GB on 4 Oct 2026, 2.3 GB on 4 Oct 2026
5bf4dc9 README and tracker: detail-stage memory bounded (AUD-03, #160)
100% on 30 Sept 2026, 34% on 30 Sept 2026
1d243f3 Port the histogram and Tone Curve panel to AppKit
3.1 GB on 4 Oct 2026, 1.3 GB on 4 Oct 2026
5bf4dc9 README and tracker: detail-stage memory bounded (AUD-03, #160)
8.5 ms on 30 Sept 2026, 7.2 ms on 30 Sept 2026
0bf07c0 Faster Radius drags: precomputed blur weights, half-float deconvolution
Decode, GPU upload, demosaic and pyramid, for a 24–26 MP raw
70–250 ms
From the README, 29 Sept 2026.
Every adjustment in one fused pass, at a 2560 × 1600 view
0.6–3 ms
From the README, 29 Sept 2026.
A linear and a radial mask, each with local adjustments
1.3 ms
From the README, 29 Sept 2026.
The full frame at full resolution, as when zoomed in
13 ms
From the README, 29 Sept 2026.
Developed at full resolution, read back for encoding
45 ms
From the README, 29 Sept 2026.
Luminance 50, rendered in tiles
100 ms
From the README, 30 Sept 2026.
GPU time on a 1:1 region of about 10 MP of pyramid texels
5 ms
One measurement so far.
From the README, 30 Sept 2026.
GPU time on the same region
1 ms
One measurement so far.
From the README, 30 Sept 2026.
GPU time, Luminance 50, a 2560 × 1600 view of a 24 MP photo
3.6 ms
From the README, 2 Oct 2026; 33% slower than the record before.
GPU time, the same view
7.2 ms
From the README, 30 Sept 2026; 15% faster than the record before.
GPU time per frame, the same view
5.5 ms
One measurement so far.
From the README, 30 Sept 2026.
GPU time per frame, with the analysis cached
2.2 ms
From the README, 30 Sept 2026.
GPU time per frame, the same view
4.3 ms
From the README, 2 Oct 2026; 54% slower than the record before.
17 MP frames: decode, align, depth map and fusion
8 s
One measurement so far.
From the README, 30 Sept 2026.
4 MP frames
15 s
One measurement so far.
From the README, 30 Sept 2026.
From its cache
0.1 s
One measurement so far.
From the README, 30 Sept 2026.
With noise reduction and sharpening on
1.3 GB
From the README, 4 Oct 2026; 58% less than the record before.
With noise reduction and sharpening on
2.3 GB
From the README, 4 Oct 2026; 69% less than the record before.
The app's footprint while listing, decoding and warming thumbnails
317 MB
From the README, 2 Oct 2026, under load.
50,000 photos in 500 folders, Show Photos in Subfolders on
14 ms
One measurement so far.
From the README, 2 Oct 2026, under load.
500 folders, in parallel, in order
209 ms
One measurement so far.
From the README, 2 Oct 2026, under load.
The first screenful, decoded from the files
33 ms
From the README, 2 Oct 2026, under load.
In the background, while you're not waiting
705 a second
From the README, 2 Oct 2026, under load.
Read back from the per-folder cache
6,210 a second
One measurement so far.
From the README, 2 Oct 2026, under load.
The slowest 1% of run-loop iterations
0.15 ms
One measurement so far.
From the README, 2 Oct 2026, under load.
End to end at 120 Hz
1.4 ms
One measurement so far.
From the README, 2 Oct 2026, under load.
120 events a second, every panel open
34%
From the README, 30 Sept 2026.
The median
0.17 ms
From the README, 30 Sept 2026.
The 95th percentile
5 ms
From the README, 30 Sept 2026.
The 99th percentile
8 ms
From the README, 30 Sept 2026.
scripts/perf-record.sh builds Release and runs redlamp bench on the CC0 sample raws from raw.pixls.us (each measurement repeated after a warm-up; a metric is the median across the files), then drags a slider at 120 events a second with every panel open, and opens 50,000 photos in 500 folders.Read from docs/performance/history.jsonl at commit 95a532f.