4 ms·
And when there is a bug in a string function, your program sends data to the wrong IP because OOPS! No protected memory! And when your user space process crashe
by jwatte 10y ago
And when there is a bug in a string function, your program sends data to the wrong IP because OOPS! No protected memory!
And when your user space process crashes, nobody is there to close your TCP connections for you.
That's a reasonable trade off if you really need the raw request rate.
But if your web server spends most of it's time waiting for databases and taking to caches and network file systems, the common hardware abstraction of the kernel starts being worth it.
Or if your binary needs to run on heterogenous hardware.
Or if your single server runs multiple separate server processes.
Hybrid memory mapped stacks may end up being the best of both worlds, though. Time will tell!
- catern 10y agoWhat is a "Hybrid memory mapped stack"? Edit: Oh, you must be referring to the network stack. I thought you meant the program stack (you know, the place where automatic variables in C are allocated). (I'm still not sure what "hybrid" is supposed to mean here though)