Just today I was playing with /proc/sys/vm/drop_caches, I'd never used it before, it makes a massive difference reading from a spinning disk!
For example to read tens of thousands of files (using 8 processes), it would take me
real 5m33.048s
Then if I ran the command again, without flushing the cache, it'd take: real 0m6.502s