use mmap() instead of fseek/fread