I made project-wide search in my text editor asynchronous so results stream in from worker threads without blocking the main thread. However, searching is so fast that it finishes before the next frame renders, even on the largest project I work on, so it was entirely wasted effort.
@jsbarretto it's not really a waste when the async I/O is likely the reason the frame was rendered on time
@natty The I/O isn't itself meaningly faster (workers still block on file access, so it's only asynchronous from the perspective of the main threads). But I was hoping to see the number of results tick up in a more satisfying way instead of appearing instantly. I realise that this is a silly thing to be sad about though
@jsbarretto @natty local block i/o is not likely to receive significant benefit from non-blocking access
@hipsterelectron That's broadly what I'm finding, although I wonder whether very small files might flip that calculus a little. Probably depends on how clever the filesystem/vfs stack is about prefetching stuff from disk.
@jsbarretto vfs.......long have i sought for the vfs. that's something we can abstract. i do like your thought on small files. one unrelated/related thing it reminds me of is prefix codes for compressed data