How to use Sysprof (again)
Every once in a while I take a moment to test GNOME OS on physical hardware. The experience today was quite a bit underwhelming. Fresh install, type a few characters into the search box, and things...
View ArticleWriting Fast Search
The problem we encountered in my last writing was that gnome-clocks was taking about 300 milliseconds to complete a basic search query. I guess the idea is that if you type “paris” into GNOME Shell...
View ArticleMore Sysprof’ing
GWeather Last time I wrote we talked about a new search index for libgweather. In the end I decided to take another route so that we can improve application performance without any changes. Instead, I...
View ArticleProfiling with medium-aged hardware
I like to keep myself honest by using slower computers regularly to do my job. When things become obnoxious, it reminds me to take a closer look at what’s going on. Today, I did some more profiling of...
View ArticleVisualizing Scheduler Details
One thing we’ve wanted for a while in Sysprof is the ability to look at what the process scheduler is doing. It can be handy to see what processes where switched and how they may be dependent on...
View ArticleFlamegraphs for Sysprof
A long requested feature for Sysprof (and most profiler tools in general) is support for visualizing data as FlameGraphs. They are essentially a different view on the same callgraph data we already...
View ArticleWhat have frame-pointers given us anyway
I obsess over battery life. So having a working Sysprof in Fedora 39 with actually useful frame-pointers has been lovely. I heard it asked at an All Systems Go talk if having frame-pointers enabled has...
View ArticleVTE performance improvements
To celebrate every new GNOME release I try to do a little bit of work that would be intrusive to land at the end of the cycle. The 46 cycle is no different and this time I’m making our terminals...
View ArticleToby is Recovering in ER ICU
Normally I’m posting about code here, but for the past two weeks most of my time has been spent taking care of our 4 year old Australian Shepherd. Toby is very special to me and we even share the same...
View ArticlePrompt
Prompt is a terminal that marries the best of GNOME Builder’s seamless container support, the beauty of GNOME Text Editor, and the robustness of VTE. I like to think of it as a companion terminal to...
View ArticleFaster Numbers
The venerable GtkSourceView project provides a GtkWidget for various code languages. It has a number of features including the most basic, showing a line number next to your line of text. It turns out...
View ArticleSidebars in Libpanel
One of the more recent design trends in GNOME has been the use of sidebars. It looks great, it’s functional, and it gives separation of content from hierarchy. Builder, on the other hand, has been...
View ArticlePerformance Profiling for Fedora Magazine
I’ve authored an article recently for Fedora Magazine on Performance Profiling in Fedora. It covers both the basics on how to get started as well as the nitty-gritty details of how profilers work. I’d...
View ArticleAccessibility in Ptyxis
First off, what the heck is Ptyxis? Ptyxis is the new name of what was formerly Prompt. The extremely nice people at Panic let me know they had a product that might be confused with Prompt and I agreed...
View ArticleImproving poll() timeout precision
Recently I was looking at a VTE performance issue so I added a bunch of Sysprof timing marks to be picked up by the profiler. I combined that with GTK frame timing information and GNOME Shell timing...
View ArticleFrame Pointers in the Media
BPF Performance Tools author and all around profiling expert Brendan Gregg wrote a blog post that sums up what was in my Fedora Magazine article quite well. Though he has this to say on the topic of...
View ArticleBOLT’ing Libraries
I did a little experimenting with BOLT today to optimize libraries post-link. I’m not an expert on it or anything, but it seems to allow you to reorder functions in your executable/library based on...
View ArticleDebug Builds and GPUs
Decades ago, when you wanted to run debug builds for UI applications, things were incredibly slow. First you’d wait minutes for the application to present a window. Then wait tens of seconds for each...
View ArticleGNOME 45/46 Retrospective
My creative work is more aligned to GNOME cycles than years. Now that GNOME 46 is is out it’s a good time to look back at some of the larger things I did during those cycles. Fedora and Frame Pointers...
View ArticleCustom Artifacts Directories
Since the inception of Builder, it has used $XDG_CACHE_DIR for many things like custom installation paths, flatpak-builder state directories, out-of-tree build directories, code indexes, and more. I...
View Article