C++ - Reddit
225 subscribers
48 photos
8 videos
24.8K links
Stay up-to-date with everything C++!
Content directly fetched from the subreddit just for you.

Join our group for discussions : @programminginc

Powered by : @r_channels
Download Telegram
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 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
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
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
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
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
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
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
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