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.
Show replies by date