Decoupling from C++ #2
Replies: 2 comments
-
|
Hello, To answer your question directly: no, this is not possible without completely destroying the performance and reliability guarantees of Tachyon. This proposal, while understandable from a deployment perspective, fundamentally goes against the core philosophy of this project. Tachyon is not just a generic high level wrapper. Under the hood, it relies on an incredibly tight integration between the code and the hardware. Removing the C++ core, specifically the engine located in arena.cpp and shm.cpp, just to avoid a compiler dependency would break that integration. The requirement to use CGO, FFI or FFM across the respective The whole point of a shared memory IPC is to stay entirely away from the operating system kernel. Syscalls are terrible for latency because they force context switches. I have spent a massive amount of time optimizing the hot path to have exactly one syscall ( Then there is the validation and memory safety aspect. Lockless concurrency and shared memory are incredibly unforgiving. The current C++ core is battered with continuous fuzzing, It is also strictly validated against ASan, UBSan, TSan, and MSan to ensure it does not corrupt memory. Throwing away a heavily tested and sanitized core to let an LLM guess atomic operations and memory barriers natively across bindings is a massive stability risk. A single data race or memory model bug in just one of those native ports would silently corrupt the shared arena and take down every single connected process. I am keeping the centralized C++ core. The friction of installing a compiler is the price to pay for bare metal performance and actual reliability. I am not going to compromise a mathematically sound and hardware optimized architecture just to make a CI pipeline slightly easier to configure. |
Beta Was this translation helpful? Give feedback.
-
|
Hi, thank you for detailed answer. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello. I am wondering if it is possible to implement Tachyon in such a way that language libs do not depend on C++ and thus do not require CGO, FFI, etc which require a C++ compiler.
The idea is to define shared memory setup and access "protocol" that relies on syscalls and atomics only and then translate it (maybe (semi)automatically using LLM) into each supported language.
Beta Was this translation helpful? Give feedback.
All reactions