Jack Kelly

Results 383 comments of Jack Kelly

> can we use a flat structure We can't have a flat list, where list items define the end of groups, because Rayon processes things out-of-order. So the following code...

Yup, using channels of channels works for both submission and completion! ```rust use rayon::prelude::*; #[derive(Debug)] enum Operation { Get(u8), } fn main() { let (completion_tx, completion_rx) = crossbeam::channel::bounded(4); { let...

What happens if we want to read 1 million chunks from a single file. As currently designed, that will all be handled by a single thread, and other threads will...

On the injector queue, there will be on file per Operation. Reading a million chunks from one file will be represented by one Operation. The thread that receives that Operation...

See `fio` results in [this comment](https://github.com/JackKelly/light-speed-io/issues/50#issuecomment-1983479259) for evidence that multiple threads are required to achieve top speed

Some updates: I think most of the ideas above are still relevant. One big change is that I'm now hoping to use `Rayon` to manage the threadpools and injector queue...

## Simplify caching! And restrict it to a single layer! Caching should exist only in a thin layer ~after the planning, and before reading~ UPDATE: actually, shouldn't caching exist between...

## Consider using a `Map` where each `File` struct would store cached filesize, and cached data Then, maybe assign one `File` to each `FileChunks`, so that we can safely plan...