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.
show comments
jeffreygoesto
27us roundtrip is not really state of the art for zero copy IPC, about 1us would be. What is causing this overhead?
show comments
exabrial
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
rohanray
It's not a local IPC exactly. The roundtrip benchmark stat is for a TCP server-client ping/pong call using a 2 KB payload; TCP is although on local loopback (127.0.0.1).
The payload is encoded using myra-codec FFM MemorySegment directly into a pre-registered buffer in io_uring SQE on the server. Similarly, on the client side CQE writes encoded payload directly into a client provided MemorySegment. The whole process saves a few SYSCALLs. Also, the above process is zero copy.
P.S.: I had posted this as a reply to jeffrey but not able to see it. Hence, reposting as a direct reply to the main post for visibility as well.
Disclaimer: I am the author of https://mvp.express. I would love feedback, critical suggestions/advise.
Thanks
-RR
show comments
TheGuyWhoCodes
In my opinion adding kryo in the benchmark is somewhat disingenuous as it does not require a message schema definition while MyraCodec/SBE/FlatBuffers do.
The only thing that says is schemeless and is zero copy is Apache Fory which is missing from the benchmark.
This looks like most of it was vibecoded.
Unnecessary comments like:
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.27us roundtrip is not really state of the art for zero copy IPC, about 1us would be. What is causing this overhead?
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
It's not a local IPC exactly. The roundtrip benchmark stat is for a TCP server-client ping/pong call using a 2 KB payload; TCP is although on local loopback (127.0.0.1).
The payload is encoded using myra-codec FFM MemorySegment directly into a pre-registered buffer in io_uring SQE on the server. Similarly, on the client side CQE writes encoded payload directly into a client provided MemorySegment. The whole process saves a few SYSCALLs. Also, the above process is zero copy.
Source: https://github.com/mvp-express/myra-transport/blob/main/benc...
P.S.: I had posted this as a reply to jeffrey but not able to see it. Hence, reposting as a direct reply to the main post for visibility as well.
Disclaimer: I am the author of https://mvp.express. I would love feedback, critical suggestions/advise.
Thanks -RR
In my opinion adding kryo in the benchmark is somewhat disingenuous as it does not require a message schema definition while MyraCodec/SBE/FlatBuffers do.
The only thing that says is schemeless and is zero copy is Apache Fory which is missing from the benchmark.
Most of it seems to be 404ing now