Live data from Hacker News

Java FFM zero-copy transport using io_uring

mvp.express

51–59 of 59 posts

Re: Java FFM zero-copy transport using io_uring

#51

This looks like most of it was vibecoded. Unnecessary comments like: clientChannel.configureBlocking(false); // Non-blocking client can be found throughout the source, and the project's landing page is a good example of typical SOTA models' outputs when asked for a frontend landing page.

Apologies! It's a long read and was the only time I did not want to use AI to summarize for a purpose :) ---- So Yes, a lot of the code has been written using AI. I have also been transparent about it on https://www.mvp.express/philosophy/ in the section "AI-Assisted Development". However, that does not mean that I as the author do not understand the code/concepts :) I also don't deny the fact that I might not have g…

Once a codebase reaches a certain size and level of complexity—and is clearly no longer a toy project—it becomes difficult, and eventually impossible, to keep every implementation detail in your head. At that point, this also starts to drift away from what you should actually care about: invariants, and ensuring they are not broken or gradually eroded over time. From my point of view, this is much harder to achieve than one might expect, especially without a highly skilled team to help reason about and discuss these concerns.

Focusing on concepts and invariants, and being able to reconstruct the core ideas of the system from them, is therefore the right priority.

Keep grinding, and good luck with your project.

Re: Java FFM zero-copy transport using io_uring

#52

This looks like most of it was vibecoded. Unnecessary comments like: clientChannel.configureBlocking(false); // Non-blocking client can be found throughout the source, and the project's landing page is a good example of typical SOTA models' outputs when asked for a frontend landing page.

Okay, but is that a bad thing?

yes, it is

Re: Java FFM zero-copy transport using io_uring

#53
post #27
post #25

Earlier quoted context omitted.

>> It's possible to ask AI to write code and then read the code yourself > Sure, but then it would not be vibecoding. Wait, what?

AI assisted coding/engineering becomes "vibe coding" when you decide to abdicate any understanding of what you are building, instead focusing only on the outcome

This feels like a silly semantics argument, but how is the outcome not what you are building?

Re: Java FFM zero-copy transport using io_uring

#54
post #51

Earlier quoted context omitted.

Apologies! It's a long read and was the only time I did not want to use AI to summarize for a purpose :) ---- So Yes, a lot of the code has been written using AI. I have also been transparent about it on https://www.mvp.express/philosophy/ in the section "AI-Assisted Development". However, that does not mean that I as the author do not understand the code/concepts :) I also don't deny the fact that I might not have g…

Once a codebase reaches a certain size and level of complexity—and is clearly no longer a toy project—it becomes difficult, and eventually impossible, to keep every implementation detail in your head. At that point, this also starts to drift away from what you should actually care about: invariants, and ensuring they are not broken or gradually eroded over time. From my point of view, this is much harder to achieve t…

Thank you for the kind words! I completely agree with your thoughts.

I have been part of projects with millions of LOC; team members including leads keep changing. This means after a short and certain amount of time, any project will be handled by members who are completely new to the codebase and not a single member exists who have gone through the entire code. Does that mean the devs and the projects are now bad? NO! You just continue working at a higher level i.e. at the project's invariants, concepts, guidelines, guardrails, scope etc. You dig into the code when there are issues or working on enhancements.

Re: Java FFM zero-copy transport using io_uring

#55

Impressive. I'm sure the numbers will continue to improve as both the FFM and this project mature. Java Native databases or KVP stores would be good usage targets IMHO

I have been planning on JIA Cache as a distributed caching system built with off heap memory DS & Flyweight for readers to achieve zero copy. I think a KV store will come out as a byproduct while developing JIA Cache

Re: Java FFM zero-copy transport using io_uring

#56

This looks like most of it was vibecoded. Unnecessary comments like: clientChannel.configureBlocking(false); // Non-blocking client can be found throughout the source, and the project's landing page is a good example of typical SOTA models' outputs when asked for a frontend landing page.

Apologies! It's a long read and was the only time I did not want to use AI to summarize for a purpose :) ---- So Yes, a lot of the code has been written using AI. I have also been transparent about it on https://www.mvp.express/philosophy/ in the section "AI-Assisted Development". However, that does not mean that I as the author do not understand the code/concepts :) I also don't deny the fact that I might not have g…

Hi @rohanray - original submitter.

Apologies for submitting before the project was perhaps ready for a wider audience. I'm a boring Spring developer these days but enjoy reading about wider JVM developments and thought this was cool and worth sharing.

I think it's a shame that the HN audience's AI debates tend to derail more interesting technical conversations.

From my perspective, there are many valid reasons to use AI to bring a project to fruition, including speed, project scope, time constraints, etc. If AI helps bring to life projects that would otherwise remain daydreams, especially open-source ones, that's a win imo.

It's also far-fetched to assume someone clearly an engineer, building a project of such scope, working with low-level Java, integrating io_uring, and generating tests to ensure contracts, is a "vibe-coder" in the pejorative sense. It's unfortunate that some HN users resort to name-calling and gatekeeping, and I think some newer community rules and guidelines for AI-enhanced submissions would be helpful.

Anyway, keep coding and releasing!

Re: Java FFM zero-copy transport using io_uring

#57
post #30
post #5

Earlier quoted context omitted.

It may or may not be good, depending on a number of fact. I did read the original linux zerocopy papers from google for example, and at the time (when using tcp) the juice was worth the squeeze when payload was larger than than 10 kilobytes (or 20? Don’t remember right now and i’m on mobile). Also a common technique is batching, so you amortise the round-trip time (this used to be the cost of sendmmsg/recvmmsg) over,…

io_uring is a tool for maximizing throughput not minimizing latency. So the correct measure is transactions per millisecond not milliseconds per transaction. Little’s Law applies when the task monopolizes the time of the worker. When it is alternating between IO and compute, it can be off by a factor of two or more. And when it’s only considering IO, things get more muddled still.

> io_uring is a tool for maximizing throughput not minimizing latency.

some features are explicitly designed to minimize latency. I'm thinking of the IORING_SETUP_IOPOLL and IORING_SETUP_SQPOLL flags for io_uring_setup .

I'm not making that up, the manpage says that: https://manpages.debian.org/unstable/liburing-dev/io_uring_s...

Re: Java FFM zero-copy transport using io_uring

#58
post #56

Earlier quoted context omitted.

Apologies! It's a long read and was the only time I did not want to use AI to summarize for a purpose :) ---- So Yes, a lot of the code has been written using AI. I have also been transparent about it on https://www.mvp.express/philosophy/ in the section "AI-Assisted Development". However, that does not mean that I as the author do not understand the code/concepts :) I also don't deny the fact that I might not have g…

Hi @rohanray - original submitter. Apologies for submitting before the project was perhaps ready for a wider audience. I'm a boring Spring developer these days but enjoy reading about wider JVM developments and thought this was cool and worth sharing. I think it's a shame that the HN audience's AI debates tend to derail more interesting technical conversations. From my perspective, there are many valid reasons to use…

Thanks @mands for you reply! I am glad you did post it and really thanks for it. However, I echo your thoughts too - I was expecting a constructive engagement re FFM & io-uring, etc. but unfortunately the entire thread digressed into AI & vibe coding etc.

I am definitely continuing to work on this.

Re: Java FFM zero-copy transport using io_uring

#59

Most of it seems to be 404ing now

Oh! That shouldn't be the case :( Please let me know if you are still facing 404. I just checked and no alerts from my monitoring yet. Thanks for letting know though!

E.g.

https://www.mvp.express/docs/v0.1.0/examples/kvstore

Under examples

Post reply on HN