It’s not O(1) for some reason. It’s a current limitation of our usage of Arrow (or Arrow itself maybe). I’m in contact with the Arrow team to find a solution.
I’ll update this thread when I have more info.
Also since using numpy with zero-copy doesn’t speed up the reading, this makes me think that the bottleneck is the read speed of your hard drive, combined with the Arrow behavior that makes it take more time to fetch examples at higher indexes.