mirror of
https://github.com/isar/libmdbx.git
synced 2025-08-25 21:54:28 +08:00
mdbx: определение in-core БД (в tmpfs/ramfs/mfs) с отключением prefault-write.
Это вынужденный читинг для "починки" сравнительных бенчмарков при размещении БД в /dev/shm. Проблема в том, что актуальные ядра Linux для файлов размещенных в tmpfs возвращают mincore=false. В результате, в простейших бенчмарках видно двукратное снижение производительности, просто из-за вызовов write() выполняемых для prefault. Из-за этого, в таких синтетических тестах, новая libmdbx становится существенно медленнее предыдущих версий, в том числе LMDB.
This commit is contained in:
@@ -585,6 +585,7 @@ MDBX_INTERNAL_FUNC int osal_msync(const osal_mmap_t *map, size_t offset,
|
||||
MDBX_INTERNAL_FUNC int osal_check_fs_rdonly(mdbx_filehandle_t handle,
|
||||
const pathchar_t *pathname,
|
||||
int err);
|
||||
MDBX_INTERNAL_FUNC int osal_check_fs_incore(mdbx_filehandle_t handle);
|
||||
|
||||
MDBX_MAYBE_UNUSED static __inline uint32_t osal_getpid(void) {
|
||||
STATIC_ASSERT(sizeof(mdbx_pid_t) <= sizeof(uint32_t));
|
||||
|
Reference in New Issue
Block a user