That sounds like cheating. The exercise says to process a large file that's on disk. If the data is in RAM then that's a whole different game.
Isn’t it run multiple times and the slowest is dropped? Why would you expect the file to be evicted from ram so quickly?
The benchmark is run 5 times without flushing file system caches. If you mmap it, it will still be in memory between process runs. The author intended this FWIW
If the cache is not flushed, it will still be in memory between runs whether you mmap it or not.
That depends a lot on the OS. I would not count on a 13 GB file being cached in RAM after having been read through once.
That sounds like a benchmarking flaw.
But then, writing good benchmarks is an art in itself.