<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: SuperV1234</title><link>https://news.ycombinator.com/user?id=SuperV1234</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 09 Apr 2026 06:03:02 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=SuperV1234" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by SuperV1234 in "The hidden compile-time cost of C++26 reflection"]]></title><description><![CDATA[
<p>It depends on what you are instantiating and how often you're doing so. Most people write templates in header files and instantiate them repeatedly in many many TUs.<p>In many cases it's possible to only declare the template in the header, explicitly instantiate it with a bunch of types in a single TU, and just find those definitions via linker.</p>
]]></description><pubDate>Tue, 10 Mar 2026 18:04:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47326751</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=47326751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47326751</guid></item><item><title><![CDATA[New comment by SuperV1234 in "The hidden compile-time cost of C++26 reflection"]]></title><description><![CDATA[
<p>Update: I had originally used a Docker image with a version of GCC built with assertions enabled, skewing the results. I am sorry for that.<p>Modules are actually not that bad with a proper version of GCC. The checking assertions absolutely crippled C++23 module performance in the original run:<p>Modules (Basic 1 type): from 352.8 ms to 279.5 ms (-73.3 ms)
Modules (AoS Original): from 1,077.0 ms to 605.7 ms (-471.3 ms, ~43% faster)<p>Please check the update article for the new data.</p>
]]></description><pubDate>Tue, 10 Mar 2026 18:03:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47326728</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=47326728</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47326728</guid></item><item><title><![CDATA[New comment by SuperV1234 in "The hidden compile-time cost of C++26 reflection"]]></title><description><![CDATA[
<p>Please check the article again -- I made a mistake in the original measurements (the Docker image I used had GCC compiled in debug mode) and now the (correct) times are ~50% faster across the board.<p>Not free, still need to audit, but much better than before. Sorry.</p>
]]></description><pubDate>Tue, 10 Mar 2026 18:02:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47326712</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=47326712</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47326712</guid></item><item><title><![CDATA[New comment by SuperV1234 in "The hidden compile-time cost of C++26 reflection"]]></title><description><![CDATA[
<p>The data was incorrect due to an oversight on my part (the Docker image I had used compiled GCC with internal assertions enabled).<p>Including <print> is still very heavy, but not as bad as before (from ~840ms to ~508ms)</p>
]]></description><pubDate>Tue, 10 Mar 2026 18:01:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47326701</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=47326701</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47326701</guid></item><item><title><![CDATA[New comment by SuperV1234 in "The hidden compile-time cost of C++26 reflection"]]></title><description><![CDATA[
<p>I've updated the article to say "translation unit" the first time "TU" is introduced. The data was also incorrect due to an oversight on my part, and it's now much more accurate and ~50% faster across the board.</p>
]]></description><pubDate>Tue, 10 Mar 2026 18:00:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47326679</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=47326679</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47326679</guid></item><item><title><![CDATA[New comment by SuperV1234 in "The hidden compile-time cost of C++26 reflection"]]></title><description><![CDATA[
<p>Update & Apology:<p>I've fully updated the article with new benchmarks.<p>A reader pointed out that the GCC 16 Docker container I originally used was built with internal compiler assertions enabled, skewing the data and unfairly penalizing GCC.<p>I've re-measured everything on a proper release build (Fedora 44), and the compile times are ~50% faster across the board.<p>The article now reflects the accurate numbers, and I've added an appendix showing the exact cost of the debug assertions.<p>I sincerely apologize for the oversight.</p>
]]></description><pubDate>Tue, 10 Mar 2026 17:59:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47326663</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=47326663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47326663</guid></item><item><title><![CDATA[New comment by SuperV1234 in "The hidden compile-time cost of C++26 reflection"]]></title><description><![CDATA[
<p>Nah, many great features are extremely cheap. E.g. constexpr, templates, fold expressions, equality operator defaulting, concepts...</p>
]]></description><pubDate>Tue, 10 Mar 2026 11:15:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47321704</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=47321704</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47321704</guid></item><item><title><![CDATA[New comment by SuperV1234 in "The hidden compile-time cost of C++26 reflection"]]></title><description><![CDATA[
<p>I ran some more measurements using import std; with a properly built module that includes reflection.<p>I first created the module via:<p><pre><code>  g++ -std=c++26 -fmodules -freflection -fsearch-include-path -fmodule-only -c bits/std.cc 
</code></pre>
And then benchmarked with:<p><pre><code>  hyperfine "g++ -std=c++26 -fmodules -freflection ./main.cpp"
</code></pre>
The only "include" was import std;, nothing else.<p>These are the results:<p>- Basic struct reflection: 352.8 ms<p>- Barry's AoS -> SoA example: 1.077 s<p>Compare that with PCH:<p>- Basic struct reflection: 208.7 ms<p>- Barry's AoS -> SoA example: 1.261 s<p>So PCH actually wins for just <meta>, and modules are not that much better than PCH for the larger example. Very disappointing.</p>
]]></description><pubDate>Fri, 06 Mar 2026 23:32:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47282526</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=47282526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47282526</guid></item><item><title><![CDATA[The hidden compile-time cost of C++26 reflection]]></title><description><![CDATA[
<p>Article URL: <a href="https://vittorioromeo.com/index/blog/refl_compiletime.html">https://vittorioromeo.com/index/blog/refl_compiletime.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47277865">https://news.ycombinator.com/item?id=47277865</a></p>
<p>Points: 60</p>
<p># Comments: 42</p>
]]></description><pubDate>Fri, 06 Mar 2026 17:10:45 +0000</pubDate><link>https://vittorioromeo.com/index/blog/refl_compiletime.html</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=47277865</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47277865</guid></item><item><title><![CDATA[New comment by SuperV1234 in "Problems with C++ exceptions"]]></title><description><![CDATA[
<p>This post completely misunderstands how to use exceptions and provides "solutions" that are error-prone to a problem that doesn't exist.<p>And this is coming from someone that dislikes exceptions.</p>
]]></description><pubDate>Wed, 12 Nov 2025 06:57:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=45897119</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=45897119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45897119</guid></item><item><title><![CDATA[New comment by SuperV1234 in "The Impossible Optimization, and the Metaprogramming to Achieve It"]]></title><description><![CDATA[
<p><a href="https://github.com/hanickadot/compile-time-regular-expressions" rel="nofollow">https://github.com/hanickadot/compile-time-regular-expressio...</a></p>
]]></description><pubDate>Sat, 01 Nov 2025 11:54:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45780953</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=45780953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45780953</guid></item><item><title><![CDATA[Building a lightweight ImGui profiler in ~500 lines of C++]]></title><description><![CDATA[
<p>Article URL: <a href="https://vittorioromeo.com/index/blog/sfex_profiler.html">https://vittorioromeo.com/index/blog/sfex_profiler.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45623495">https://news.ycombinator.com/item?id=45623495</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 17 Oct 2025 23:51:21 +0000</pubDate><link>https://vittorioromeo.com/index/blog/sfex_profiler.html</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=45623495</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45623495</guid></item><item><title><![CDATA[More Speed and Simplicity: Practical Data-Oriented Design in C++ – CppCon 2025 [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=SzjJfKHygaQ">https://www.youtube.com/watch?v=SzjJfKHygaQ</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45307638">https://news.ycombinator.com/item?id=45307638</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 19 Sep 2025 22:44:03 +0000</pubDate><link>https://www.youtube.com/watch?v=SzjJfKHygaQ</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=45307638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45307638</guid></item><item><title><![CDATA[New comment by SuperV1234 in "The repercussions of missing an Ampersand in C++ and Rust"]]></title><description><![CDATA[
<p>Note that taking a 'const' by-value parameter is very sensible in some cases, so it is not something that could be detected as a typo by the C++ compiler in general.</p>
]]></description><pubDate>Tue, 02 Sep 2025 19:18:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=45107738</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=45107738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45107738</guid></item><item><title><![CDATA[New comment by SuperV1234 in "Simplest C++ Callback, from SumatraPDF"]]></title><description><![CDATA[
<p>This is not proof. What you said is not incorrect, but it doesn't prove that your software is fast because you applied small optimizations everywhere.</p>
]]></description><pubDate>Tue, 01 Jul 2025 12:59:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=44433474</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=44433474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44433474</guid></item><item><title><![CDATA[New comment by SuperV1234 in "I write type-safe generic data structures in C"]]></title><description><![CDATA[
<p>Level 4: switching to C++</p>
]]></description><pubDate>Tue, 01 Jul 2025 11:07:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=44432654</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=44432654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44432654</guid></item><item><title><![CDATA[New comment by SuperV1234 in "Simplest C++ Callback, from SumatraPDF"]]></title><description><![CDATA[
<p>But do you have actual proof for your first claim? Isn't it possible that the "constant vigilance" is optimizing that ~10% that doesn't really matter in the end?</p>
]]></description><pubDate>Tue, 17 Jun 2025 10:40:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=44297574</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=44297574</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44297574</guid></item><item><title><![CDATA[New comment by SuperV1234 in "Simplest C++ Callback, from SumatraPDF"]]></title><description><![CDATA[
<p>> Is it because I made hundreds decisions like that? Yes.<p>Proof needed. Perhaps your overall program is designed to be fast and avoid silly bottlenecks, and these "hundred decisions" didn't really matter at all.</p>
]]></description><pubDate>Mon, 16 Jun 2025 12:15:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=44288832</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=44288832</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44288832</guid></item><item><title><![CDATA[New comment by SuperV1234 in "Learning C3"]]></title><description><![CDATA[
<p>This is just not true. There's nothing that makes C++ inherently slow to compile.<p>PImpl doesn't need to have a performance hit as you can implement it with a local fixed-sized buffer that's not heap-allocated.<p>You can also design your C++ codebase exactly as you would in C, so there's literally no reason why you'll need to recompile more in one language compared to the other.</p>
]]></description><pubDate>Tue, 03 Jun 2025 10:50:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=44168524</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=44168524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44168524</guid></item><item><title><![CDATA[New comment by SuperV1234 in "Ask HN: Who wants to be hired? (June 2025)"]]></title><description><![CDATA[
<p>Location: Messina, Italy<p>Remote: Yes<p>Willing to relocate: No<p>Technologies: Modern C++ (C++11/14/17/20/23), and the usual hodgepodge of languages/tools every senior engineer has encountered in ~15 years of real world projects<p>Résumé/CV: <a href="https://romeo.training" rel="nofollow">https://romeo.training</a><p>Email: mail (at) vittorioromeo.com<p>---<p>Hello!<p>I'm Vittorio, a passionate C++ expert with over a decade of professional and personal experience. My expertise covers library development, high-performance financial backends, game development, open-source contributions, and active participation in ISO C++ standardization.<p>As the coauthor of "Embracing Modern C++ Safely" and a speaker at over 25 international conferences, I bring real-world insights to empower you fully utilize C++ to its advantage.<p>I offer specialized training, mentoring, and consulting services to help companies & individuals leverage the full potential of C++.<p>I am also open to fully remote C++ development/teaching positions.</p>
]]></description><pubDate>Tue, 03 Jun 2025 10:48:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=44168510</link><dc:creator>SuperV1234</dc:creator><comments>https://news.ycombinator.com/item?id=44168510</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44168510</guid></item></channel></rss>