Do not enable lazy locking by default.
Do not enable lazy locking by default, because: - It's fragile (applications can subvert detection of multi-threaded mode). - Thread caching amortizes locking overhead in the default configuration.
This commit is contained in:
parent
6ffbbeb5d6
commit
0fee70d718
4
INSTALL
4
INSTALL
@ -128,8 +128,8 @@ any of the following arguments (not a definitive list) to 'configure':
|
|||||||
a measurable impact on performance, since the compiler is forced to load
|
a measurable impact on performance, since the compiler is forced to load
|
||||||
the page size from memory rather than embedding immediate values.
|
the page size from memory rather than embedding immediate values.
|
||||||
|
|
||||||
--disable-lazy-lock
|
--enable-lazy-lock
|
||||||
Disable code that wraps pthread_create() to detect when an application
|
Enable code that wraps pthread_create() to detect when an application
|
||||||
switches from single-threaded to multi-threaded mode, so that it can avoid
|
switches from single-threaded to multi-threaded mode, so that it can avoid
|
||||||
mutex locking/unlocking operations while in single-threaded mode. In
|
mutex locking/unlocking operations while in single-threaded mode. In
|
||||||
practice, this feature usually has little impact on performance unless
|
practice, this feature usually has little impact on performance unless
|
||||||
|
@ -730,17 +730,17 @@ AC_CHECK_LIB([pthread], [pthread_create], [LIBS="$LIBS -lpthread"],
|
|||||||
|
|
||||||
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
|
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
|
||||||
|
|
||||||
dnl Enable lazy locking by default.
|
dnl Disable lazy locking by default.
|
||||||
AC_ARG_ENABLE([lazy_lock],
|
AC_ARG_ENABLE([lazy_lock],
|
||||||
[AS_HELP_STRING([--disable-lazy-lock],
|
[AS_HELP_STRING([--enable-lazy-lock],
|
||||||
[Disable lazy locking (always lock, even when single-threaded)])],
|
[Enable lazy locking (only lock when multi-threaded)])],
|
||||||
[if test "x$enable_lazy_lock" = "xno" ; then
|
[if test "x$enable_lazy_lock" = "xno" ; then
|
||||||
enable_lazy_lock="0"
|
enable_lazy_lock="0"
|
||||||
else
|
else
|
||||||
enable_lazy_lock="1"
|
enable_lazy_lock="1"
|
||||||
fi
|
fi
|
||||||
],
|
],
|
||||||
[enable_lazy_lock="1"]
|
[enable_lazy_lock="0"]
|
||||||
)
|
)
|
||||||
if test "x$enable_lazy_lock" = "x1" ; then
|
if test "x$enable_lazy_lock" = "x1" ; then
|
||||||
AC_CHECK_HEADERS([dlfcn.h], , [AC_MSG_ERROR([dlfcn.h is missing])])
|
AC_CHECK_HEADERS([dlfcn.h], , [AC_MSG_ERROR([dlfcn.h is missing])])
|
||||||
|
Loading…
Reference in New Issue
Block a user