3 ms·
Nice, how does that compare with Pedis, which was written in C++ several years ago? It's an incomplete Redis lookalike that isn't getting current development,
by throwaway81523 2y ago
Nice, how does that compare with Pedis, which was written in C++ several years ago? It's an incomplete Redis lookalike that isn't getting current development, but it uses Seastar, the same parallelism framework as ScyllaDB.
https://github.com/fastio/1store https://github.com/fastio/1store
- whalesalad 2y agoI’m sorry, pedis?
- mirekrusin 2y agoI wonder why it didn’t get traction?
- andai 2y agoParallel Redis!
- ddtaylor 2y agoCould have called it Threadis
- throwaway88f32 2y ago[flagged]
- deleted 2y ago[deleted]
- binary132 2y ago[flagged]
- throwaway81523 2y agoIt looks to me like they have changed the name to 1store but haven't updated the web pages completely.
- yunohn 2y agoWhat would be the point of comparing a popular active fork to an unheard-of non-maintained one?
- oneplane 2y agoUsually the point is the same as with a very-heard-of well-maintained one: how did they do it? Algorithms and methodologies don't require being well-known or being well-maintained to be valid and useful comparisons.
- yunohn 2y agoI would argue that doing a comparison requires the author to actually have heard of the other option first. The world has infinite things, we can only focus on so much.
- bastawhiz 2y agoI mean, it's sort of what it says on the tin: it's parallelized. Valkey is essentially just an optimized Redis, which is largely single threaded. Pedis is multithreaded. That comes with tradeoffs under certain workloads, which you don't even have to get too creative to imagine.
- reconditerose 2y agoYeah, right now the valkey project is trying to keep full compatibility with the lass oss version of redis but improving where we can. There are plenty of concurrent hash maps attached to a tcp server that can out perform it on raw throughput, but they're usually missing a lot of features. One day valkey might be fully multithreaded, but not anytime soon. (Unless someone has a good idea for it)
- throwaway81523 2y agoI wonder if it is feasible to implement a shared memory interface instead of TCP. I'm not sure whether unix domain sockets are currently supported. I remember that Pedis/1Store can use DPDK to get a significant boost compared with the kernel network stack. I don't know if Redis/Valkey can do that.
- klohto 2y agoAin’t nobody adopting anything named Pedis
- justin66 2y agoI'm sure if they approach enough people offering to show them their Pedis, they will receive some feedback.
- estebarb 2y agoIt is a completely different kind of parallelism. Seastar makes easier to leverage parallelism across many cores. Here Valkey is leveraging instruction level parallelism within a single core. A single CPU core actually can execute more than one instruction at a time, by leveraging out of order execution. The trick for leveraging out of order execution is avoiding having data dependencies locally. By swapping the iteration order, they allow the CPU core to continue with the next iteration before the previous has finished. Why? Because there is no data dependency anymore! I haven't profiled that code, but I guess that now the bottleneck would be the sum. But it doesn't matter, as accesing a register is the fastest operation. Accesing the memory cache is slower, and accessing RAM is even slower.