3 ms·
Memory mapping is fun, but shouldn't we have some kind of async IO / uring support by now? If you're looking at really high-perf I/O, mmaping isn't really state
by switchbak 1y ago
Memory mapping is fun, but shouldn't we have some kind of async IO / uring support by now? If you're looking at really high-perf I/O, mmaping isn't really state of the art right now.
Then again, if you're in Java/JVM land you're probably not building bleeding edge DBs ala ScyllaDB. But I'm somewhat surprised at the lack of projects in this space. One would think this would pair well with some of the reactive stream implementations so that you wouldn't have to reimplement things like backpressure, etc.
- exabrial 1y ago[flagged]
- switchbak 1y agoTry to add something to the conversation. Also, drive-by calling someone a 'dick' who's legit trying to add something to the conversation is a very dick move itself.
- threeseed 1y agoa) There have been libraries supporting io_uring on the JVM for many years now. b) SycllaDB is not bleeding edge. It uses the relatively old now DPDK. c) There are countless reactive stream implementations e.g. https://vertx.io/docs/vertx-reactive-streams/java/ https://vertx.io/docs/vertx-reactive-streams/java/
- hawk_ 1y agoI thought DPDK would still be faster than io_uring.
- switchbak 1y agoCompared to what the JVM offers, Syclla is certainly way ahead - happy to hear what the latest greatest approaches are. I'm very aware of various reactive stream impls - I was saying that this work should plug into them rather than reinventing the wheel.
- jlokier 1y agoLast time I measured on Linux (a few years ago), with NVMe, mmap + calling out to a thread pool to async-page-touch (so the main thread didn't block) was faster than io_uring (from the main thread) for random access reads.