More than a taken branch per cycle?Our processors can execute many instructions per cycle; they are superscalar. But not all instructions are equal. Branches are particularly tricky. A branch occurs often when you use an if-then clause or a loop. We distinguish between a taken branch and a not taken branch. A not-taken branch is often cheap. The processor just keeps โฆ Continue reading More than a taken branch per cycle?๐Daniel Lemire's blogWelcome to SwedenCpp
Latest blogs, videos, podcasts and releases in one stream
Monday, September 21, 2026
More than a taken branch per cycle?Our processors can execute many instructions per cycle; they are superscalar. But not all instructions are equal. Branches are particularly tricky. A branch occurs often when you use an if-then clause or a loop. We distinguish between a taken branch and a not taken branch. A not-taken branch is often cheap. The processor just keeps โฆ Continue reading More than a taken branch per cycle?๐Daniel Lemire's blog
Whatโs New in ParaView 6.2ParaView 6.2 introduces faster processing for polyhedral cells, new options for exporting time-varying data, expanded support for canceling operations, and new options for stereo rendering in CAVE environments. The release also includes updates across ParaViewโs filters, readers and writers, ParaViewโs interface, plugins, Python scripting, virtual reality, and Catalyst. For a complete listing of new features [โฆ]๐Kitware Inc
Value vs. default initialization๐ฅDeepDiveDev
Generating SBOMs with CMakeCMake now includes experimental support for directly generating Software Bills of Materials (SBOMs) as part of the install process. Instead of relying on post-build scanners, you can produce a standards-based SBOM from the same dependency graph CMake already uses to compile and link your project. The first supported output format is SPDX. The design allows [โฆ]๐Kitware Inc
The data does not show mass unemploymentIf AI is causing mass unemployment among software developers, it is not showing up in the data yet. The USA had more software developers as a percentage of the population in 2025 than in 2021. On average salaries are slightly up (average of 148k$ a year). The 90th percentile is up from 2021 โฆ Continue reading The data does not show mass unemployment๐Daniel Lemire's blog
Whatโs the highest legal FILETIME? Is it safe to use?Being wary of how people use it and how it interacts with other types. The post Whatโs the highest legal FILETIME ? Is it safe to use? appeared first on The Old New Thing .๐The Old New Thing
C++ Weekly - Ep 551 - static const is a Code Smell?๐ฅJason Turner
16 Years Doing C++ Standardization Work - A Personal Retrospective - Nevin Liber - ACCU on Sea 2026๐ฅACCUConf
How to Launch an Audio Plugin in a Crowded Market (Predictive Sales Metrics) - Randy Young - ADC๐ฅaudiodevcon
2025 Mikhail Matrosov Talks About How to Declare a Constant in C++๐ฅcppunderthesea
Computers in the Simpsons Universeโฆโฆare probably more efficient than ours. They are certainly different. Simpsons characters have 8 fingers (digits), not 10. So it is likely that octal is the dominant system they use. Yes, I know deities have 10 digits in the Simpsons Universe. It is still likely that the Simpsons universe predominantly...๐Why is a raven like a writing desk?If this page is useful, please consider donating a coffee
Sunday, September 20, 2026
The Untold Story of Shipping C++20!๐ฅC++ Alliance
AI is breaking the academic sorting machineI see the mathematicians panicking at what we can do with agentic AI. Let us be clear on what we are talking about. In a few weeks, someone who is not a high-level mathematician can, with AI, produce the equivalent of a good PhD thesis in math. I could see a top 1% high school โฆ Continue reading AI is breaking the academic sorting machine๐Daniel Lemire's blog
12 Ways to Initialize Variables in C++ (And Why They Matter!)๐ฅDeepDiveDev
C++ in the Realtime Embedded Context - A Case Study - Shin Umeda - C++Now 2026๐ฅCppNow
Switch on Strings in C++ with constexpr Hashing๐ฅDeepDiveDevSaturday, September 19, 2026
Is This the Future of WG21?๐ฅC++ Alliance
C++20: Force This Code to Run at Compile Time๐ฅDeepDiveDev
How did Apple Silicon get 50% faster in three years?Recently, I looked at how AMD made its chips 50% faster within a span of two years, in How did AMD Ryzen get 50% faster in two years? Many people asked me to cover Apple processors. So let us go. Consider the base Apple Silicon chips: M2 (2022), M3 (2023), M4 (2024) and M5 (2025). โฆ Continue reading How did Apple Silicon get 50% faster in three years?๐Daniel Lemire's blog
How a Compiler Finds a Name: Walking the Scope Chain๐ฅPVS-Studio
Can you redeclare a variable with the same name? It depends entirely on where๐ฅPVS-Studio
Demystifying C++ initializer_list - Design, Behavior, and Best Practices for C++ - ACCU on Sea 2026๐ฅACCUConfFriday, September 18, 2026
The Future is NOW! C++ Next Generation of Programmers!๐ฅC++ Alliance
Faster JSON parsing with SVE2 on ARM processorsARM processors, like those in your phone, have instructions capable of processing several elements at once (SIMD). These instructions are called NEON. But many newer processors have a different SIMD extension called SVE. The latest ARM processors have SVE2. Unfortunately, Apple has not yet adopted SVE, but SVE processors are available in the cloud. In โฆ Continue reading Faster JSON parsing with SVE2 on ARM processors๐Daniel Lemire's blog
How did AMD Ryzen get 50% faster in two years?People still tell me that CPUs are boring. That nothing much happens anymore. Let us look at AMD Ryzen 7 processors from 2022 to 2024: the 5800X3D (Zen 3), the 7800X3D (Zen 4) and the 9800X3D (Zen 5). They are comparable 8-core chips with 3D V-Cache. I have written about them before, in How stagnant โฆ Continue reading How did AMD Ryzen get 50% faster in two years?๐Daniel Lemire's blog
It sounds fancy, but a symbol table is really just a hash map๐ฅPVS-Studio
Comparing exception behavior of magic statics, std::call_once, and std::asyncDo you try again or give up? The post Comparing exception behavior of magic statics, std:: call_ once , and std:: async appeared first on The Old New Thing .๐The Old New Thing
Reflecting on Reflection - Introspection, Injection, and Beyond - C++Now 2026๐ฅCppNow
2.5 Years Later: A C++ Framework for Audio ML Research Prototyping - Maxime Coutant - ADC 2025๐ฅaudiodevcon
Canvas2D: New QML canvas element using Qt Canvas PainterIn the earlier blog posts about Qt Canvas Painter we have looked at what it is , the new rendering features it brings, how fast it is compared to QPainter, and how path caching makes even a million line segments render smoothly. All of those earlier blog posts used the QCanvasPainter C++ API. At the end of the path caching post I teased that a QML element was coming, and it is here now: Canvas2D , available in Qt 6.12.๐Qt Blog
Let's make a programming language. Functions๐ฅPVS-StudioThursday, September 17, 2026
Modernizing Boost Graph for Science & Community๐ฅC++ Alliance
Lazy Evaluation - EpilogueSummary of lazy evaluation using bind expressions.๐Under Development
A Cross-Platform C# UI Framework via Qtโs Bridging TechnologyEvery C# UI framework comes with a familiar pattern: Windows-first, Linux absent, roadmap uncertain. WPF stalled, MAUI skipped Linux, WinUI 3 stays Windows-native. At the same time, demand for embedded Linux grows and C# teams feel the lack of good UI alternatives for C# on Linux. Qt Bridges, a bridging technology in public beta for C#, provides access to a UI framework that allows preserving your existing C# codebase while utilizing Qt Quickโs feature-rich UI libraries and APIs, hardware acceleration, and cross-platform capability.๐Qt Blog
Two Variables Named 'A': How Scope Handles Name Shadowing๐ฅPVS-Studio
Whatโs New in VTK-wasmScientific and engineering visualization workflows have increasingly moved to the web. Developers are building applications with frameworks such as trame, Jupyter, and Panel that allow users to explore data directly in the browser while computationally intensive processing remains on the server. As these workflows continue to evolve, developers need efficient ways to deliver responsive 3D [โฆ]๐Kitware Inc
QML and C# without C++: Qt Bridge for C# 0.4.0 Beta ReleasedAs part of the on-going development of Qt Bridges , and beyond the two Beta versions already released, we've continued to add new features to the C# bridge, and we're now announcing the release of a new Beta version 0.4.0. The highlight of this release is the possibility to develop C# + QML applications without the need for a C++ compiler . This means that C# developers can now take full advantage of Qtโs UI framework capabilities while keeping their familiar development workflow. Other features that we've added in this release include support for macOS and Windows on ARM.๐Qt Blog
What Can a Function Really See?๐ฅPVS-Studio
std::call_once vs. std::asyncSimple vs complex machinery. The post std::call_once vs. std::async appeared first on The Old New Thing .๐The Old New Thing
Contracts, Safety and Correctness in C++ - Lucian Radu Teodorescu - ACCU 2026๐ฅACCUConf
The Secret to Great C++ Libraries? Itโs the People๐ฅC++ Alliance
If they can't find you, the code doesn't matterIf they can't find you, the code doesn't matter You need a units library for C++. You search GitHub for "units" and get a wall of repositories, all some variation of the same word, by different authors, with no obvious way to tell which one is alive, which one is serious, and which one will still be maintained next year. You pick one almost at random, or you give up and write your own. The library you needed might have been right there. You just could not find it, or could not tell it apart from the noise.๐mp-unitsWednesday, September 16, 2026
Bringing Correctly Rounded Math to Production with LLVM-libcAs we mentioned in the last cmath blog post, MSVC is using LLVM-libc for compile-time evaluation and runtime execution of math functions when /Zc:cmath is enabled. I invited LLVM-libc contributors Michael Jones and Tue Ly to write a guest blog post about how theyโve achieved what theyโve achieved. This is that blog post! I hope [โฆ] The post Bringing Correctly Rounded Math to Production with LLVM-libc appeared first on C++ Team Blog .๐C++ Team Blog
How fast is C++23โs std::flat_map?C++23 added a new type to the standard library: std::flat_map. There is also a std::flat_set and other variants, but let me focus on std::flat_map. A flat map is a sorted vector of keys next to a vector of values. A query is a binary search over the sorted keys. You need a recent standard library: โฆ Continue reading How fast is C++23โs std::flat_map?๐Daniel Lemire's blog
C++ constexpr Explained: consteval, Hashing & Compile-Time Parsing๐ฅDeepDiveDev
Structure Before CodeHow PromptForge Ships Tens of Thousands of Lines a Day Without Reading Them๐My Very Best AI Slop
Magic statics vs. std::call_onceThey sort of do the same thing, but differently. The post Magic statics vs. std::call_once appeared first on The Old New Thing .๐The Old New Thing
C++ Insights - Episode 78: constexpr lambdas finally FIXED in C++ Insights๐ฅAndreas Fertig
Commercial LTS Qt 6.8.9 ReleasedWe have released Qt 6.8.9 LTS for commercial license holders today. As a patch release, Qt 6.8.9 adds no new functionality but provides bug fixes and other improvements.๐Qt Blog
September's C Vu Journal has been published.The September 2026 ACCU C Vu journal has been published and should arrive at members' addresses in the next few days. C Vu 38-4 and previous issues of C Vu can be accessed via the Journals menu (ACCU members only).๐ACCU
Modular Synth in the Browser - Kilian Hertel - ADCx Copenhagen 2026๐ฅaudiodevcon
2025 Speaker Greg Law talks about GDB - A Lot More Than You Realized๐ฅcppunderthesea
C++ Insights Episode 78: constexpr lambdas finally FIXED in C++ InsightsI published a new C++ insights episode: constexpr lambdas finally FIXED in C++ Insights. In this episode, I'll present you one of the latest changes to C++ Insights which makes the lambda transformation close to perfect! Andreas๐AndreasFertig.comTuesday, September 15, 2026
Goldman Sachs โ Juilliard โ CEO of a C++ Nonprofit๐ฅC++ Alliance
Why do Microsoft job levels start in the high 50โs instead of starting at a sane number like 1?It used to start at 1, but that was the old system. The post Why do Microsoft job levels start in the high 50โs instead of starting at a sane number like 1? appeared first on The Old New Thing .๐The Old New Thing
Monadic Operations for Box-Like Types - Designing the Extensibility Model - Mikhail Svetkin - C++Now๐ฅCppNow
Subnormal floating-point numbers are expensiveโฆ on Intel processorsWe represent floating-point numbers using the IEEE standard. For very small numbers, the standard uses special subnormal numbers. Unfortunately, they have a reputation of making operations slow. Thus video game programmers and machine learning specialists sometimes avoid computing with subnormal numbers for performance. How slow are they? Let me measure. I wrote a small C++ โฆ Continue reading Subnormal floating-point numbers are expensiveโฆ on Intel processors๐Daniel Lemire's blog
Spelling the type of a โselfโ parameter with ReflectionOver on std-proposals, it was pointed out that using C++23 โexplicit object parameterโ syntax without using auto (since auto makes your member function into a template, changing its semantics) is sometimes cumbersome:๐Arthur OโDwyer