I've finally completed my passion project! Let me know if you have any questions!
Announcement, Performance improvements, and Results
GitHub Project
Documentation
I've finally completed my passion project! Let me know if you have any questions!
Announcement, Performance improvements, and Results
GitHub Project
Documentation
Congratulations! This is really impressive.
What did you enjoy most about the project?
What would have improved your experience using rust for this project?
Take some time to relax and enjoy what you've accomplished. It'll of course be exciting to see a main server application runnable using this code. Is that something you are interested in working on next?
Thanks!!
Coding for fun and getting into the weeds! I had no deadline, no management, no customer. It was just me and the code.
A stable allocator API would've been the biggest improvement. I'm using a Bumpalo arena to manage each transaction's memory. Between using Bumpalo's collections, Hashbrown, and allocator-api2 I got everything working. The caveat, though, is that debugging is that much more difficult. LLDB doesn't understand the non-standard collections. I had to regularly modify the code when debugging to reference a Vec as a slice so I could see what values were there. It would be a big QoL improvement not to have to do that anymore.
My goal was always to learn ETCD and the Raft algorithm. I just got a little sidetracked! I'll probably make a few more modifications to the bbolt-rs codebase to clean out some horrible architectural decisions I made and try out a performance improvement idea. After that I'll shift focus to a basic Raft implementation and go from there.
This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.