top | item 44606605

(no title)

tavianator | 7 months ago

My bfs project also uses io_uring: https://github.com/tavianator/bfs/blob/main/src/ioq.c

I'm curious how lsr compares to bfs -ls for example. bfs only uses io_uring when multiple threads are enabled, but maybe it's worth using it even for bfs -j1

discuss

order

rockorager|7 months ago

Oh that's cool. `find` is another tool I thought could benefit from io_uring like `ls`. I think it's definitely worth enabling io_uring for single threaded applications for the batching benefit. The kernel will still spin up a thread pool to get the work done concurrently, but you don't have to manage that in your codebase.

tavianator|7 months ago

I did try it a while ago and it wasn't profitable, but that was before I added stat() support. Batching those is probably good

mshockwave|7 months ago

and grep / ripgrep. Or did ripgrep migrate to using io_uring already?