Skip to content

IO: reduce IO by avoiding using write() #33

@matttbe

Description

@matttbe

When trying to validate network performances on embedded system, a limited factor might be the IO. This can be avoided by avoiding copies.

There are multiple advanced zero-copy techniques these days (io_uring Zerocopy, TCP devmem, MSG_TX_RX_ZC, and probably others -- check this to get some comparisons) but they can be complex to put in place, requiring a recent Linux kernel, mostly useful for very high BW requirements, and/or requiring specific HW. (Maybe io_uring ZC might be easier to put in place, but not sure whether it is really needed with a static buffer and the need of checking exchanged data.) Yet, a first step might be to use mmap(), sendfile() and/or MSG_ZEROCOPY (not supported by all protocols) :)

(I just found this article that can help to understand why it can be interesting to do that)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions