libmdbx 0.12.1 (Positive Proxima)
0
Описание
The planned frontward release with new superior features on the day of 20 anniversary of Positive Technologies.
37 files changed, 7604 insertions(+), 7417 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
New:
- The
Big Foot
feature which significantly reduces GC overhead for processing large lists of retired pages from huge transactions. Now libmdbx avoid creating large chunks of PNLs (page number lists) which required a long sequences of free pages, aka large/overflow pages. Thus avoiding searching, allocating and storing such sequences inside GC. - Improved hot/online validation and checking of database pages both for more robustness and performance.
- New solid and fast method to latch meta-pages called
Troika
. The minimum of memory barriers, reads, comparisons and conditional transitions are used. - New
MDBX_VALIDATION
environment options to extra validation of DB structure and pages content for carefully/safe handling damaged or untrusted DB. - Accelerated ×16/×8/×4 by AVX512/AVX2/SSE2/Neon implementations of search page sequences.
- Added the
gcrtime_seconds16dot16
counter to the “Page Operation Statistics” that accumulates time spent for GC searching and reclaiming. - Copy-with-compactification now clears/zeroes unused gaps inside database pages.
- The
C
andC++
APIs has been extended and/or refined to simplify usingwchar_t
pathnames. On Windows themdbx_env_openW()
,mdbx_env_get_pathW()
,mdbx_env_copyW()
,mdbx_env_open_for_recoveryW()
are available for now, but themdbx_env_get_path()
has been replaced in favor ofmdbx_env_get_pathW()
. - Added explicit error message for Buildroot’s Microblaze toolchain maintainers.
- Added
MDBX_MANAGE_BUILD_FLAGS
build options for CMake. - Speed-up internal
bsearch
/lower_bound
implementation using branchless tactic, including workaround for CLANG x86 optimiser bug. - A lot internal refinement and micro-optimisations.
- Internally counted volume of dirty pages (unused for now but for coming features).
Fixes:
- Never use modern
__cxa_thread_atexit()
on Apple’s OSes. - Don’t check owner for finished transactions.
- Fixed typo in
MDBX_EINVAL
which breaks MingGW builds with CLANG.
Downloads:
- 254K, libmdbx-amalgamated-0.12.1.zpaq, sha256sum:
5a5f5a4f024bb9e752a6f0ed3ae1e7b51372dbedfd77e0f989993e87c67a2136
- 340K, libmdbx-amalgamated-0.12.1.tar.xz, sha256sum:
d498f2ebbfd96952fbf7ac21a965d42f6a980d1f4f3cf7aeae8580d54855b651
- 448K, libmdbx-amalgamated-0.12.1.tar.bz2, sha256sum:
1a15f2d764957a2776215246cedce732de5ccf51726b4b63413bd8aedd5f38e0
- 692K, libmdbx-amalgamated-0.12.1.tar.gz, sha256sum:
43039f27387cdedc442e8f79908f8b67101a1b4fbba32d7c14c4e217ee483320
- 704K, libmdbx-amalgamated-0_12_1.zip, sha256sum:
aea687db7f6de1db4bdd9c24d76b2740d9345740a930d2bb0eb25c328d89bed0
For earlier versions please refer to the git tags and the ChangeLog.
Файлы
Нет файлов