3 ms·
In what way? There are examples with integration tests currently. The website explains some tadbits regarding concurrency quite well. I'd need to better unde
by alexpadula 2y ago
In what way?
There are examples with integration tests currently.
The website explains some tadbits regarding concurrency quite well.
I'd need to better understand what you mean.
- Rochus 2y agoI am interested in your overarching objective for the database. For example, my Udb was only a means to an end, so that I could equip my applications such as CrossLine, WorkTree, FlowLine, or Herald with incremental persistence. I had considered concurrency, but never needed it. However, I had looked at various larger libraries (such as RocksDb) for a multi-user version of Crossline, for example. With RocksDb, there are numerous applications that can be studied and which demonstrate the robustness and scalability of the database. A much leaner solution with concurrency and transaction properties seems attractive, but would of course have to prove itself first.
- alexpadula 2y agoVery cool. I do agree, much to prove still. If you want feel free to join the Discord and we can talk in real-time. Could be a diverse and interesting conversation.
- Rochus 2y agoJust discovered that you're requiring C23 which I don't have on my development machine. Actually one of the reasons I didn't continue with RocksDb yet is that they moved to a pretty recent c++ version, which I neither have. I think for infrastructure code (such as a database) it is better to take a very conservative approach to language versions (to avoid dependency domino effects).
- alexpadula 2y agoOh noo. I've thought about this more than I'd like to admit. I'd need to review if it's possible to refactor a bit to work with C99+. I don't believe there would be many changes but it's been awhile writing the entire code base as it is. Because TidesDB is in BETA v0.8.0 currently we can definitely do this. I'm curious do you use CMake? I will create an issue. https://github.com/tidesdb/tidesdb/issues/356 https://github.com/tidesdb/tidesdb/issues/356
- Rochus 2y agoI don't want to burden you with work, so don't feel obliged in any way. This is simply my opinion (there are also good reasons for newer C versions). In all my personal projects, I don't have any newer versions than C99 or C++11 (most are even C++98/03). I recently even migrated a compiler backend framework from C++17 to C++11 to use it: https://github.com/rochus-keller/eigen/ https://github.com/rochus-keller/eigen/. I could do the same with your code if I would use it, but first I have to move forward in other projects. Concerning cmake: I only use it if unavoidable; instead I implemented my own build system (https://github.com/rochus-keller/busy/ https://github.com/rochus-keller/busy/) some years ago which I now use for most of my personal projects.
- alexpadula 2y agoOh no burdens here. Would take a lot to burden me with something I love to do! You are quite the master I'm very similar to you in that I gotta get my hands on everything haha. I tagged yeah on the issue. I will after work have a look at the changes required to make backwards compatible. If not much, why not. I'll weigh the possible negatives if any.
- alexpadula 2y agoThings build rather well with C99 actually. I am setting it as the default.