I wonder if they could improve this by queueing multiple positions to read at once. Presumably the disk will be able to do some of them more efficiently.
Off the top of my head, I don't really know how to do that (aside from the naive way of using threads), I'm guessing readv[1] might be be useful? Will definitely look into it.