Discussion: Using Python as a control plane for high-performance systems - Is the overhead of the C-API still the main bottleneck?
Hi everyone,
I’ve been working on a high-performance infrastructure project where the core data engines are written in Rust and C++ (using Polars and custom C-style binary protocols), but the orchestration and business logic are handled by Python 3.13+.
In the C++ world, we often avoid Python for anything "mission-critical" due to the GIL and the overhead of the Python C-API. However, I’ve been experimenting with a Shared Memory IPC approach to decouple the high-level logic from the data plane.
I’d love to get some feedback from the C++ community on this architecture:
1. Zero-Copy IPC via Shared Memory: Instead of using Protobuf or JSON over a socket, I'm allocating segments in the Windows Kernel and using
2. Memory Alignment and Padding: When interfacing Python’s
3. CPU Affinity: I'm pinning the Python consumer to specific cores to avoid context switching when reading from the shared buffer. In a hybrid system, do you usually reserve specific cores for the C++ engine and leave others for the management scripts, or do you let the OS scheduler handle it?
The Goal:
I'm trying to build a system where Python handles the "thinking" (logic/orchestration) while the "doing" (I/O and computation) happens at $O(1)$ or $O(\\log n)$ at the hardware level.
I'm curious: What is your "threshold" for moving a component out of Python/Go and into pure C++? Is it strictly latency, or is it about memory safety and deterministic behavior?
https://redd.it/1syrus9
@r_cpp
Hi everyone,
I’ve been working on a high-performance infrastructure project where the core data engines are written in Rust and C++ (using Polars and custom C-style binary protocols), but the orchestration and business logic are handled by Python 3.13+.
In the C++ world, we often avoid Python for anything "mission-critical" due to the GIL and the overhead of the Python C-API. However, I’ve been experimenting with a Shared Memory IPC approach to decouple the high-level logic from the data plane.
I’d love to get some feedback from the C++ community on this architecture:
1. Zero-Copy IPC via Shared Memory: Instead of using Protobuf or JSON over a socket, I'm allocating segments in the Windows Kernel and using
struct packing to write raw bytes. For those of you building C++ engines that need to talk to high-level "glue" languages, do you still prefer Unix Domain Sockets/Named Pipes, or has Shared Memory become your standard?2. Memory Alignment and Padding: When interfacing Python’s
struct module (C-style) with C++ structs, I've had to be extremely careful with Little Endianness and memory alignment. Is there a more robust way to handle this without bringing in heavy dependencies like FlatBuffers?3. CPU Affinity: I'm pinning the Python consumer to specific cores to avoid context switching when reading from the shared buffer. In a hybrid system, do you usually reserve specific cores for the C++ engine and leave others for the management scripts, or do you let the OS scheduler handle it?
The Goal:
I'm trying to build a system where Python handles the "thinking" (logic/orchestration) while the "doing" (I/O and computation) happens at $O(1)$ or $O(\\log n)$ at the hardware level.
I'm curious: What is your "threshold" for moving a component out of Python/Go and into pure C++? Is it strictly latency, or is it about memory safety and deterministic behavior?
https://redd.it/1syrus9
@r_cpp
Reddit
From the cpp community on Reddit
Explore this post and more from the cpp community
learncpp. com not online anymore
I can't seem to get in the site learncpp.com anymore.
Anyone else with the same issue?
Do you have any suggestions for a similar site where i can learn cpp, I am a complete novice trying to learn cpp after C (still learning C)
https://redd.it/1syvxrb
@r_cpp
I can't seem to get in the site learncpp.com anymore.
Anyone else with the same issue?
Do you have any suggestions for a similar site where i can learn cpp, I am a complete novice trying to learn cpp after C (still learning C)
https://redd.it/1syvxrb
@r_cpp
Reddit
From the cpp community on Reddit
Explore this post and more from the cpp community
Build a simple and yet powerful TUI file-organizer (forg?)
And Yes, i know, organizing can quit your searching. But I'm constantly nerved down to my bones (don't know how to bring this in proper english) when I'm looking at my /Downloads, /Documents, /Active_Projects, /AnythingAtAll and still find a lot of stuff in it after some days of intensive work at my lap.... Aaargh...I think often by myself.
So here it is. Simple OSX/Linux Tool with TUI ...everything lined up in your /Organized.... (configurable of 'cause)
May it be useful. For you as it is already for me.
FREE at all. clone...compile...have fun.... cheers...
github: https://github.com/SaschaKohler/file-organizer
https://redd.it/1sywf3f
@r_cpp
And Yes, i know, organizing can quit your searching. But I'm constantly nerved down to my bones (don't know how to bring this in proper english) when I'm looking at my /Downloads, /Documents, /Active_Projects, /AnythingAtAll and still find a lot of stuff in it after some days of intensive work at my lap.... Aaargh...I think often by myself.
So here it is. Simple OSX/Linux Tool with TUI ...everything lined up in your /Organized.... (configurable of 'cause)
May it be useful. For you as it is already for me.
FREE at all. clone...compile...have fun.... cheers...
github: https://github.com/SaschaKohler/file-organizer
https://redd.it/1sywf3f
@r_cpp
GitHub
GitHub - SaschaKohler/file-organizer: just another file management tool written in C++20
just another file management tool written in C++20 - SaschaKohler/file-organizer
Custom shell i have been working on
hi i have been working on this shell for some time and i though of getting some feedback, note that i still am working on the project : https://github.com/Indective/Ish
https://redd.it/1sz22ws
@r_cpp
hi i have been working on this shell for some time and i though of getting some feedback, note that i still am working on the project : https://github.com/Indective/Ish
https://redd.it/1sz22ws
@r_cpp
GitHub
GitHub - Indective/Ish: UNIX-based shell
UNIX-based shell. Contribute to Indective/Ish development by creating an account on GitHub.
Cpp Files Still Help Breaking Build Dependencies of Modules
https://abuehl.github.io/2026/04/23/cpp-files-still-help-breaking-dependencies.html
https://redd.it/1sz5a9o
@r_cpp
https://abuehl.github.io/2026/04/23/cpp-files-still-help-breaking-dependencies.html
https://redd.it/1sz5a9o
@r_cpp
Adrian’s Notes
Cpp Files Still Help Breaking Build Dependencies
C++ modules provide a whole new level of information hiding, which is not possible with header files. If we have an interface: // Translation unit #1a export module M; import R; export void foo() { R::T x; ... } ... With R being: // Translation unit #2 export…
ACAV v1.0.0: an open-source GUI tool for exploring Clang ASTs in C/C++ projects
I am the author of ACAV, the Aurora Clang AST Viewer, and I have just made the first public release, v1.0.0.
ACAV is an open-source Qt desktop application for exploring Clang ASTs in C, C++, Objective-C, and Objective-C++ projects that provide a `compile_commands.json` compilation database.
It supports source-to-AST navigation, AST-node search, source-code search, declaration-context views, selected-subtree JSON export, and background AST generation/caching.
Links:
\- GitHub: https://github.com/uvic-aurora/acav
\- Release: https://github.com/uvic-aurora/acav/releases/tag/v1.0.0
\- Manual: https://uvic-aurora.github.io/acav-manual/index.html
\- Demo video: https://youtu.be/0M7dYAlnrTI
There are also prebuilt Docker/Podman demo images for LLVM 20, 21, and 22.
https://github.com/uvic-aurora/acav/pkgs/container/acav
I would appreciate feedback from C++ users, especially anyone who works with Clang tooling or wants a more visual way to inspect ASTs.
https://redd.it/1sz6w3w
@r_cpp
I am the author of ACAV, the Aurora Clang AST Viewer, and I have just made the first public release, v1.0.0.
ACAV is an open-source Qt desktop application for exploring Clang ASTs in C, C++, Objective-C, and Objective-C++ projects that provide a `compile_commands.json` compilation database.
It supports source-to-AST navigation, AST-node search, source-code search, declaration-context views, selected-subtree JSON export, and background AST generation/caching.
Links:
\- GitHub: https://github.com/uvic-aurora/acav
\- Release: https://github.com/uvic-aurora/acav/releases/tag/v1.0.0
\- Manual: https://uvic-aurora.github.io/acav-manual/index.html
\- Demo video: https://youtu.be/0M7dYAlnrTI
There are also prebuilt Docker/Podman demo images for LLVM 20, 21, and 22.
https://github.com/uvic-aurora/acav/pkgs/container/acav
I would appreciate feedback from C++ users, especially anyone who works with Clang tooling or wants a more visual way to inspect ASTs.
https://redd.it/1sz6w3w
@r_cpp
GitHub
GitHub - uvic-aurora/acav: Aurora Clang AST Viewer
Aurora Clang AST Viewer. Contribute to uvic-aurora/acav development by creating an account on GitHub.
Why C++ Is Growing and What C++26 Means for Production Systems
https://www.youtube.com/watch?v=Qvr9MTAU_y4
https://redd.it/1szbl25
@r_cpp
https://www.youtube.com/watch?v=Qvr9MTAU_y4
https://redd.it/1szbl25
@r_cpp
YouTube
Herb Sutter: Why C++ Is Growing and What C++26 Means for Production Systems
C++ is accelerating, and C++26 is built for what developers need now. Hear Herb Sutter on what’s driving its growth.
Citadel Securities is a leading quantitative trading firm. We deploy powerful predictive models and develop leading technology to execute…
Citadel Securities is a leading quantitative trading firm. We deploy powerful predictive models and develop leading technology to execute…
CPP* Compiler Project *Almost Too Good To Be True
https://github.com/LukeSchoen/CPrime
https://redd.it/1szi16y
@r_cpp
https://github.com/LukeSchoen/CPrime
https://redd.it/1szi16y
@r_cpp
GitHub
GitHub - LukeSchoen/CPrime: Fast C compiler with essential C++ features like constructors, class-templates, overloads, etc
Fast C compiler with essential C++ features like constructors, class-templates, overloads, etc - LukeSchoen/CPrime
GCC 16.1 released with many new C++26/23 features, C++20 now the default stable language version
https://gcc.gnu.org/gcc-16/changes.html#cxx
https://redd.it/1szveq3
@r_cpp
https://gcc.gnu.org/gcc-16/changes.html#cxx
https://redd.it/1szveq3
@r_cpp
Reddit
From the cpp community on Reddit: GCC 16.1 released with many new C++26/23 features, C++20 now the default stable language version
Posted by AccordingWarthog - 17 votes and 3 comments
Some theory and practice of alignment in C++ (guide part 3).
https://pvs-studio.com/en/blog/posts/cpp/1369/
https://redd.it/1szx3m5
@r_cpp
https://pvs-studio.com/en/blog/posts/cpp/1369/
https://redd.it/1szx3m5
@r_cpp
PVS-Studio
Silent foe or quiet ally: Brief guide to alignment in C++. Part 3
We′ve already covered basic field alignment and explored how inheritance layers data atop one another. By now you might think we have uncovered every trap. But not so fast! This topic has a truly...
Working on a new language (vibe-compiler) – Looking for feedback on my C++23 Lexer/Parser
Hey everyone,
I've been working on a custom programming language called vibe-compiler. It's a low-level project built with C++23.
I want to learn more about how can I built a OOP in my custom language. I'm following the www.craftinginterpreters.com . I'd love some feedback on my approach to naming convention and how can i improve the project. Also, if anyone is interested in contributing or just chatting about compiler design, I'd love to connect!
This is the GitHub repo: https://github.com/gemrey13/vibe-compiler
https://redd.it/1szwqdg
@r_cpp
Hey everyone,
I've been working on a custom programming language called vibe-compiler. It's a low-level project built with C++23.
I want to learn more about how can I built a OOP in my custom language. I'm following the www.craftinginterpreters.com . I'd love some feedback on my approach to naming convention and how can i improve the project. Also, if anyone is interested in contributing or just chatting about compiler design, I'd love to connect!
This is the GitHub repo: https://github.com/gemrey13/vibe-compiler
https://redd.it/1szwqdg
@r_cpp
GitHub
GitHub - gemrey13/vibe-compiler
Contribute to gemrey13/vibe-compiler development by creating an account on GitHub.
C++26: string and string_view improvements
https://www.sandordargo.com/blog/2026/04/29/cpp26-string-string_view-improvements
https://redd.it/1t02001
@r_cpp
https://www.sandordargo.com/blog/2026/04/29/cpp26-string-string_view-improvements
https://redd.it/1t02001
@r_cpp
Sandor Dargo’s Blog
C++26: string and string_view improvements
Let’s continue our exploration of C++26 improvements. Today we focus on string_view. Some types got new constructors accepting string_views, and concatenation of strings and string_views just got easier. But let’s start with a brief reminder of what a string_view…
Fast GPU Linear Algebra via Compile Time Expression Fusion
https://arxiv.org/abs/2604.22242
https://redd.it/1t01hj5
@r_cpp
https://arxiv.org/abs/2604.22242
https://redd.it/1t01hj5
@r_cpp
arXiv.org
Fast GPU Linear Algebra via Compile Time Expression Fusion
We describe the Bandicoot GPU linear algebra toolkit, a C++ based library that prioritises ease of use without compromising efficiency. Bandicoot's API is compatible with the popular Armadillo CPU...
Is anyone still using the CTRE library in 2026?
Back in 2019 an engineer/committee member made a splash by introducing CTRE, Compile Time Regular Expressions.
It was implemented using type aliases instead of constexpr function calls meaning it was easy to implement in C++11. Very impressive stuff.
It also gave you a nicer callsite spelling in C++20 leveraging generalized non-type template parameter passing.
I'm curious if anyone is still using it. If no, why not? I'd love to hear!
https://redd.it/1t05xxt
@r_cpp
Back in 2019 an engineer/committee member made a splash by introducing CTRE, Compile Time Regular Expressions.
It was implemented using type aliases instead of constexpr function calls meaning it was easy to implement in C++11. Very impressive stuff.
It also gave you a nicer callsite spelling in C++20 leveraging generalized non-type template parameter passing.
I'm curious if anyone is still using it. If no, why not? I'd love to hear!
https://redd.it/1t05xxt
@r_cpp
Reddit
From the cpp community on Reddit
Explore this post and more from the cpp community
I made a super fast CNN library for C++20 from scratch.
I was exploring Convolutional Neural Networks (CNNs) in more depth and I had an interesting idea of making a dependency free, header only cnn library for C++20.
I did some research and found out about tiny-dnn which is a cnn library for c++14, super fast but the developers stopped updating it back in 2016, so I decided to take on a challenge to make my own CNN library from scratch for c+ +20 with extreme performance tuning for CPU, and I did achieve close to what I was expecting.
I benchmarked with "pytorch" and the results were good enough to post, I have documented about the library here along with the benchmark results. At some instances it outperformed pytorch and I was shocked too.
Documentation- "https://Inkd.in/gNFF74JJ"
To get a rough idea on how fast is my engine it goes 97.51% accuracy on mnist dataset in just 25 seconds of training with a throughput of 2k+ images / second.
processor - Ryzen 7 5800H mobile
For overview -
My engine uses DAG layout
It has Zero Allocation
Multithreading Support
L1/L2 Cache Optimization
and a lot of internal stuffs going on, here is the repository link-
"https://github.com/KunwarPrabhat/CustomCNN"
My engine is still in its early stage so there are alot of things that can be fixed I need more devlopers to contribute if they're interested in it :))
https://redd.it/1t080e4
@r_cpp
I was exploring Convolutional Neural Networks (CNNs) in more depth and I had an interesting idea of making a dependency free, header only cnn library for C++20.
I did some research and found out about tiny-dnn which is a cnn library for c++14, super fast but the developers stopped updating it back in 2016, so I decided to take on a challenge to make my own CNN library from scratch for c+ +20 with extreme performance tuning for CPU, and I did achieve close to what I was expecting.
I benchmarked with "pytorch" and the results were good enough to post, I have documented about the library here along with the benchmark results. At some instances it outperformed pytorch and I was shocked too.
Documentation- "https://Inkd.in/gNFF74JJ"
To get a rough idea on how fast is my engine it goes 97.51% accuracy on mnist dataset in just 25 seconds of training with a throughput of 2k+ images / second.
processor - Ryzen 7 5800H mobile
For overview -
My engine uses DAG layout
It has Zero Allocation
Multithreading Support
L1/L2 Cache Optimization
and a lot of internal stuffs going on, here is the repository link-
"https://github.com/KunwarPrabhat/CustomCNN"
My engine is still in its early stage so there are alot of things that can be fixed I need more devlopers to contribute if they're interested in it :))
https://redd.it/1t080e4
@r_cpp