Yes, simplicity counts for a lot. Staying in user space <i>is</i> simpler.<p>The reason LMDB can pack so much functionality into only 7KLOCs is because using mmap is much simpler than using read() and maintaining a user-level buffer cache.<p>In the vast majority of cases, developers need to profile their code if they actually care about performance - and fail to do so.