Dataset was 20x times larger than available RAM in that case, so it makes sense that OS cashing was useless and only induced overhead..
Another potential issue was that they compared their mmap code to fio O_DIRECT code, which kinda not clean experiment, fio could be just much more optimized itself..