Gazpacho Base
A benchmark of Rust GUI approaches on macOS (native AppKit via objc2, SwiftUI, winit, egui, iced, glow, wgpu) comparing memory and GPU use, which found objc2 AppKit, at about 19 MB, the best base for a minimal native Rust desktop shell.
- BPM
- 169
- GRADE
- B
- LEVEL
- 6
- RELEASES
- 0
- YEARS
- 2025–2025
Nineteen Megabytes
In June 2025 I decided to actually measure Rust GUI options on macOS. Seven approaches, the same simple app, memory and GPU use recorded for each: native AppKit through objc2, SwiftUI, winit, egui, iced, glow, and raw wgpu.
AppKit via objc2 won easily at around nineteen megabytes. Anything that brings its own renderer also brings a GPU context and a frame loop, which is a lot for a desktop app that's mostly idle. The system toolkit is already loaded, and calling it from Rust through Objective-C bindings costs almost nothing.
It took two days, June 21 and 22. It ended the egui experiments I'd been doing since May, and led to kumato that same week, where the Rust core got a SwiftUI shell through UniFFI. I named it after cold soup because it was a base, and because I like fun names.
led to
- tish-floem2026benchmark of Rust GUI toolkits
- tish-appkit2026native AppKit via objc2
- Milkish2026winit and glow rendering benchmarks