4 ms·
I'm working on yet another software transactional memory for C++. It's actually a higher-level API on top of the in-memory database I worked on at my previous s
by senderista 3y ago
I'm working on yet another software transactional memory for C++. It's actually a higher-level API on top of the in-memory database I worked on at my previous startup, with many perf improvements since then (update transactions are ~200ns). I have a draft website but the API implementation isn't complete, so you can't download it yet: https://senderista.github.io/atomik-website/ https://senderista.github.io/atomik-website/.
I thought of making a startup out of this project, but was talked out of it by several friends and acquaintances with startup experience. I still think it has potential as an open-source project, although I doubt it would be monetizable.
- quickthrower2 3y agoSounds cool. I played with STM in Haskell and liked it. YC might fund you to explore this, both technically and monetarily.
- senderista 3y agoIndeed, my API is inspired by Haskell's STM: it's essentially just TVars with `atomically` and `retry` (I'm not yet convinced `orElse` is worth the implementation effort). FWIW, there's at least one C++ project along similar lines, which is actually used in a commercial product (but is much less scalable: it uses a single R/W lock to serialize all concurrency): https://www.youtube.com/watch?v=k20nWb9fHj0 https://www.youtube.com/watch?v=k20nWb9fHj0 https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4438.pdf https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n44...