Databases vendors usually find that read outperforms mmap. Mmap being fast is a myth.
Tried every way to get contents of a file as fast to a client socket as possible.
mmap and io_uring_prep_send were faster than everything else, no matter the size as long as you keep the map around for the lifetime of the process.
for one off sends when a file is smaller than 256kb then io_uring_prep_read + prep_send are faster than everything else.
Note that grandparent actually didn't say they used mmap to actually get the memory, just mapping it.
Tried every way to get contents of a file as fast to a client socket as possible.
mmap and io_uring_prep_send were faster than everything else, no matter the size as long as you keep the map around for the lifetime of the process.
for one off sends when a file is smaller than 256kb then io_uring_prep_read + prep_send are faster than everything else.