4 ms·
NCQ also tries to do this. I think that’s at block level though rather than whole file level. I’m surprised that giving more commands in parallel made things sl
by Neil44 6y ago
NCQ also tries to do this. I think that’s at block level though rather than whole file level. I’m surprised that giving more commands in parallel made things slower if NCQ was working.
https://en.m.wikipedia.org/wiki/Native_Command_Queuing https://en.m.wikipedia.org/wiki/Native_Command_Queuing
- staticassertion 6y agoThe author actually addresses this in a reddit topic. https://www.reddit.com/r/rust/comments/mk2nz8/ordering_requests_to_accelerate_random_disk_io/gte63ud https://www.reddit.com/r/rust/comments/mk2nz8/ordering_reque... "NCQ does it's best to order all of the outstanding commands at a moment in time (so maybe 32). This is instead submitting the commands in the optimal order to start with." The thread contains more details.
- dale_glass 6y agoNCQ has a tiny limit of a maximum of 32 commands. The absolute best case would probably be if you could submit a request for all the blocks in all the files in the directory at once to the hard disk, and let it figure out the optimal order in which to answer. But we don't have such a thing.