The author embarked on a journey to optimize profiling in Rust Analyzer by creating a Flame Graph viewer using Rust. They explored different GUI toolkits, including Egui and GTK, to draw 1000 buttons and measure memory consumption. Surprisingly, FLTK emerged as the memory-efficient option. Ultimately, the author switched to using Xlib to draw rectangles on a canvas, overcoming challenges with scrolling and event handling more efficiently. By creatively using indexes and vectors, they navigated complex Perf data and optimized button placement without the need for a KD tree. Their experience showcases a unique and practical approach to GUI development in Rust.
https://laladrik.xyz/blog/flameGraphViewer/