1. 6

Someone openend a PR for io_uring support in libuv, this should help a lot of projects including node to speed up a lot of IO work

    1. 1

      It appears to me that it still not the prime time for io uring. Here are my benchmarks on Linux 5.19:

      edit: those are not benchmark done with libuv.

      io uring 2.3
      
      Summary:
        Success rate:	0.8241
        Total:	20.0011 secs
        Slowest:	0.0614 secs
        Fastest:	0.0008 secs
        Average:	0.0096 secs
        Requests/sec:	6305.7601
      

      Then

      epoll
      
      Summary:
        Success rate:	0.8796
        Total:	20.0003 secs
        Slowest:	0.0763 secs
        Fastest:	0.0001 secs
        Average:	0.0018 secs
        Requests/sec:	31941.7147
      

      In any case, for users of libuv, the API will stay the same.

      1. 1

        In any case, for users of libuv, the API will stay the same.

        I suspect that’s the problem. There are some huge wins from io_urging if you have a programming model that lets you enqueue a bunch of operations and dispatch them together (open, write, close sequences can be batched trivially, for example), and more if you can avoid needing to access a file via anything other than a specific ring (you avoid any interaction with the process’ file descriptor table if you can open it locally).

        I don’t think the libuv model is particularly amenable to this.

    🇬🇧 The UK geoblock is lifted, hopefully permanently.