I have tried to find information on the internet about the flag MDB_USE_PWRITEV but haven't had much luck. I was a little surprised to find that the pwritev() system call is never used by default (in liblmdb or openldap itself AFAICT). Because a naive analysis would suggest that pwritev() is always better than the alternative.

The Makefile for liblmdb suggests that the defaults for flags should be correct for most platforms. So I am just left wondering why the default on all systems is to avoid pwritev().

Can anyone provide some insight on this matter for me? I maintain some bindings for the Go language and it has been asked that this flag be applied to all Linux builds by default. I am trying to make the most appropriate decision for general use of the library.

Thanks,
- Bryan