Hacker News new | ask | show | jobs
by diegocg 1868 days ago
There is nothing that user space solutions do that can not be implemented in kernel space. From what I understand, the Linux kernel networking stack is not optimised to process packets in bulk, which is the only way to deal with high speeds nics https://lwn.net/Articles/629155/
2 comments

True, but we have a kernel networking stack with a certain interface and a rich feature set. The kernel cannot break that API.

In contrast, a new userspace stack doesn't need to worry about backwards compatibility or supporting every use case.

So yes, the kernel can do just as good, but it's harder.

This is probably the only way to have fast software in today's hardware.

Unfortunately the popular languages are all about single element at a time, and pointer chasing with the compiler having a hard time vectorizing operations and reorganizing data structures. I think most compilers don't/can't even do this because there are not enough guarantees. The only systems that actually do this are DBMSs.

> compiler having a hard time vectorizing operations and reorganizing data structures

Reminds me of a recent blog post on exactly this topic. Apparently the Jai language might make some progress on this point.

https://blog.royalsloth.eu/posts/the-compiler-will-optimize-...

• Discussion: https://news.ycombinator.com/item?id=27010965