In many cases I find it can be easier to improve the data loading process rather than to change dataloader behavior itself; changing the order of samples based on loading time might also introduce some unwanted bias in the training. Can you share some more details about the data loading computation so that potential bottlenecks can be mitigated?