<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: audidude</title><link>https://news.ycombinator.com/user?id=audidude</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 24 May 2026 19:33:12 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=audidude" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by audidude in "Silk: Open-source cooperative fiber scheduler"]]></title><description><![CDATA[
<p>I've been doing this with something very similar in GNOME for years now. It also does io_uring, threadpool schedulers, workstealing, "pollable semaphores" (like IRIX), profiler integration, and makes fibers implemented as futures themselves.<p><a href="https://github.com/GNOME/libdex/" rel="nofollow">https://github.com/GNOME/libdex/</a></p>
]]></description><pubDate>Sun, 24 May 2026 15:48:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48258246</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=48258246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48258246</guid></item><item><title><![CDATA[New comment by audidude in "Linux Terminal Memory Usage"]]></title><description><![CDATA[
<p>The good news is that before writing Ptyxis, I also ported GNOME Terminal to GTK 4 and doubled the performance of VTE. So you know, use whatever you like.</p>
]]></description><pubDate>Mon, 11 May 2026 20:57:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48100586</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=48100586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48100586</guid></item><item><title><![CDATA[New comment by audidude in "Linux Terminal Memory Usage"]]></title><description><![CDATA[
<p>Almost all of that is Mesa shaders and GTK's CPU side font-cache for GL/Vulkan, compiled CSS state, FWIW.<p>If you run:<p>GSK_RENDERER=cairo ptyxis -s<p>You can verify that with 69,985 here RES and 52,428 of that SHR. With 5 tabs open it jumped to 71,208 here. Presumably for the encrypted scrollback pre-allocations.<p>You still may not choose to use it, but it should stay relatively similar the more tabs you open.<p>Also, it's not a core GNOME app. It's just an app I wrote for me that the distros seem to have liked for its design/platform integration.</p>
]]></description><pubDate>Mon, 11 May 2026 20:46:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48100439</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=48100439</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48100439</guid></item><item><title><![CDATA[New comment by audidude in "Looking at Unity made me understand the point of C++ coroutines"]]></title><description><![CDATA[
<p>In most cases you're already using signalfd in places where libdex runs.</p>
]]></description><pubDate>Wed, 25 Mar 2026 23:41:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47524824</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=47524824</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47524824</guid></item><item><title><![CDATA[New comment by audidude in "Looking at Unity made me understand the point of C++ coroutines"]]></title><description><![CDATA[
<p>> I'm not normally keen to "well actually" people with the C standard, but .. if you're writing in assembly, you're not writing in C.<p>These days on Linux/BSD/Solaris/macOS you can use makecontext()/swapcontext() from ucontext.h and it will turn out roughly the same performance on important architectures as what everyone used to do with custom assembly. And you already have fiber functions as part of the Windows API to trampoline.<p>I had to support a number of architectures in libdex for Debian. This is GNOME code of course, which isn't everyone's cup of C. (It also supports BSDs/Linux/macOS/Solaris/Windows).<p>* <a href="https://packages.debian.org/sid/libdex-1-1" rel="nofollow">https://packages.debian.org/sid/libdex-1-1</a><p>* <a href="https://gitlab.gnome.org/GNOME/libdex" rel="nofollow">https://gitlab.gnome.org/GNOME/libdex</a></p>
]]></description><pubDate>Wed, 25 Mar 2026 16:34:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47519669</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=47519669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47519669</guid></item><item><title><![CDATA[New comment by audidude in "MAUI Is Coming to Linux"]]></title><description><![CDATA[
<p>In X11 we kept things simple by offering:<p>* Core protocol drawing (lines, rectangles, arcs, the classics)<p>* XRender for compositing and alpha<p>* XShm for shared-memory blits<p>* GLX if you felt like bringing a GPU to a 2D fight<p>* XVideo for overlay video paths<p>* Pixmaps vs Windows, because why have one drawable when you can have two subtly different ones<p>* And of course, indirect rendering over the network if you enjoy latency as a design constraint</p>
]]></description><pubDate>Sun, 22 Mar 2026 19:01:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47480869</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=47480869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47480869</guid></item><item><title><![CDATA[New comment by audidude in "State of Terminal Emulators in 2025: The Errant Champions"]]></title><description><![CDATA[
<p>So the state of 2025 then tests a VTE that is from 2023? 4 major releases behind? And through a GTK 3 app, not even a GTK 4 one which will use the GPU?</p>
]]></description><pubDate>Mon, 03 Nov 2025 16:44:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=45801088</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=45801088</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45801088</guid></item><item><title><![CDATA[New comment by audidude in "Rocky Linux 10 Will Support RISC-V"]]></title><description><![CDATA[
<p>Red Hat announced RISC-V yesterday with RHEL 10. So this seems rather expected.<p><a href="https://www.redhat.com/en/blog/red-hat-partners-with-sifive-for-risc-v-developer-preview-for-red-hat-enterprise-linux-10" rel="nofollow">https://www.redhat.com/en/blog/red-hat-partners-with-sifive-...</a></p>
]]></description><pubDate>Wed, 21 May 2025 22:08:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44056765</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=44056765</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44056765</guid></item><item><title><![CDATA[New comment by audidude in "Navtive FlameGraphViewer"]]></title><description><![CDATA[
<p>As someone who went down this path many years ago, I think the GTK numbers in the article are a bit misleading. You wouldn't create 1000 buttons to do a flamegraph properly in GTK.<p>In Sysprof, it uses a single widget for the flamegraph which means in less than 150 mb resident I can browse recordings in the GB size range. It really comes down to how much data gets symbolized at load time as the captures themselves are mmap'able. In nominal cases, Sysprof even calculates those and appends them after the capture phase stops so they can be mmap'd too.<p>That just leaves the augmented n-ary tree key'd by instruction pointer converted to string key, which naturally deduplicates/compresses.<p>The biggest chunk of memory consumed is GPU shaders.</p>
]]></description><pubDate>Wed, 25 Dec 2024 23:29:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=42511945</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42511945</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42511945</guid></item><item><title><![CDATA[New comment by audidude in "Limitations of frame pointer unwinding"]]></title><description><![CDATA[
<p><a href="https://pagure.io/fesco/issue/2817#comment-826636" rel="nofollow">https://pagure.io/fesco/issue/2817#comment-826636</a> will probably get you started into the relevant paths. Python 3.12 was going to include frame-pointers anyway for perf to boot. So they needed to fix this regardless.</p>
]]></description><pubDate>Tue, 05 Nov 2024 04:12:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=42048535</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42048535</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42048535</guid></item><item><title><![CDATA[New comment by audidude in "Limitations of frame pointer unwinding"]]></title><description><![CDATA[
<p>This is a bit of a mischaracterization of the Python side of things.<p>They only opted out for 3.11 which did not yet have the perf-integration fixes anyway. 3.12 uses frame-pointers just fine.</p>
]]></description><pubDate>Mon, 04 Nov 2024 20:32:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=42045732</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42045732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42045732</guid></item><item><title><![CDATA[New comment by audidude in "Limitations of frame pointer unwinding"]]></title><description><![CDATA[
<p>I think your viewpoint is valid.<p>My experience is on performance tuning the other side you mention. Cross-application, cross-library, whole-system, daemons, etc. Basically, "the whole OS as it's shipped to users".<p>For my case, I need the whole system setup correctly before it even starts to be useful. For your case, you only need the specific library or application compiled correctly. The rest of the system is negligible and probably not even used. Who would optimize SIMD routines next to function calls anyway?</p>
]]></description><pubDate>Mon, 04 Nov 2024 18:51:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=42044813</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42044813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42044813</guid></item><item><title><![CDATA[New comment by audidude in "Limitations of frame pointer unwinding"]]></title><description><![CDATA[
<p>It's a disaster no doubt.<p>But, at least from the GNOME side of things, we've been complaining about it for roughly 15 years and kept getting push-back in the form of "we'll make something better".<p>Now that we have frame-pointers enabled in Fedora, Ubuntu, Arch, etc we're starting to see movement on realistic alternatives. So in many ways, I think the moral hazard was waiting until 2023 to enable them.</p>
]]></description><pubDate>Mon, 04 Nov 2024 18:36:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=42044648</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42044648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42044648</guid></item><item><title><![CDATA[New comment by audidude in "Limitations of frame pointer unwinding"]]></title><description><![CDATA[
<p>Absolutely. We've gotten numerous double digit performance improvements across applications, libraries, and system daemons because of frame-pointers in Fedora (and that's just from me).</p>
]]></description><pubDate>Mon, 04 Nov 2024 17:35:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=42043960</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42043960</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42043960</guid></item><item><title><![CDATA[New comment by audidude in "Limitations of frame pointer unwinding"]]></title><description><![CDATA[
<p>I regularly have users run Sysprof and upload it to issues. It's immensely powerful to be able to see what is going on systems which are having issues. I'd argue it's one of the major reasons GNOME performance has gotten so much better in the recent-past.<p>You can't do that when step one is reinstall another distro and reproduce your problem.<p>Additionally, the overhead for performance related things that could fall into the 1% range (hint, it's not much) rarely are using the system libraries in such a way anyway that would cause this. They can compile that app with frame-pointers disabled. And for stuff where they do use system libraries (qsort, bsearch, strlen, etc) the frame pointer is negligible to the work being performed. You're margin of error is way larger than the theoretical overhead.</p>
]]></description><pubDate>Mon, 04 Nov 2024 16:17:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=42042959</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42042959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42042959</guid></item><item><title><![CDATA[New comment by audidude in "Limitations of Frame Pointer Unwinding"]]></title><description><![CDATA[
<p>>  Shadow stacks are cool but aren't they limited to a fixed number of entries?<p>Current available hardware yes. But I think some of the future Intel stuff was going to allow for much larger depth.<p>> Is the memory overhead of lookup tables for very large programs acceptable?<p>I don't think SFrame is as "dense" as DWARF as a format so you trade a bit of memory size for a much faster unwind experience. But you are definitely right that this adds memory pressure that could otherwise be ignored.<p>Especially if the anomalies are what they sound like, just account for them statistically. You get a PID for cost accounting in the perf_event frame anyway.</p>
]]></description><pubDate>Mon, 04 Nov 2024 16:03:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=42042794</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42042794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42042794</guid></item><item><title><![CDATA[New comment by audidude in "Limitations of frame pointer unwinding"]]></title><description><![CDATA[
<p>It does cause more memory pressure because the kernel will have to look at the user-space memory for decoding registers.<p>So yes it will be faster than alternatives to frame-pointers, but it still wont be as fast as frame pointers.</p>
]]></description><pubDate>Mon, 04 Nov 2024 15:59:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=42042741</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42042741</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42042741</guid></item><item><title><![CDATA[New comment by audidude in "Limitations of frame pointer unwinding"]]></title><description><![CDATA[
<p>I added support to Sysprof this weekend for unwinding using libdwfl and DWARF/CFI/eh_frame/etc techniques that Serhei did in eu-stacktrace.<p>The overhead is about 10% of samples. But at least you can unwind on systems without frame-pointers. Personally I'll take the statistical anomalies of frame-pointers which still allow you to know what PID/TID are your cost center even if you don't get perfect unwinds. Everyone seems motivated towards SFrame going forward, which is good.<p><a href="https://blogs.gnome.org/chergert/2024/11/03/profiling-w-o-frame-pointers/" rel="nofollow">https://blogs.gnome.org/chergert/2024/11/03/profiling-w-o-fr...</a></p>
]]></description><pubDate>Mon, 04 Nov 2024 13:49:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=42041493</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=42041493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42041493</guid></item><item><title><![CDATA[New comment by audidude in "What do you visualize while programming?"]]></title><description><![CDATA[
<p>These are two common things I ask new friends so that I can communicate better with them (aphantasia and inner monologue).</p>
]]></description><pubDate>Fri, 18 Oct 2024 18:21:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=41882056</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=41882056</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41882056</guid></item><item><title><![CDATA[New comment by audidude in "What do you visualize while programming?"]]></title><description><![CDATA[
<p>Nothing, I have aphantasia.</p>
]]></description><pubDate>Fri, 18 Oct 2024 16:32:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=41880988</link><dc:creator>audidude</dc:creator><comments>https://news.ycombinator.com/item?id=41880988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41880988</guid></item></channel></rss>