mirror of
https://github.com/isar/libmdbx.git
synced 2025-04-04 04:02:57 +08:00
mdbx: Обновление ChangeLog.
This commit is contained in:
parent
80f9f73a5e
commit
39c6387d23
38
ChangeLog.md
38
ChangeLog.md
@ -3,12 +3,8 @@ ChangeLog
|
||||
|
||||
## В разработке v0.12.2
|
||||
|
||||
|
||||
Новое:
|
||||
|
||||
- В C++ API добавлены методы фиксации транзакции с получением информации
|
||||
о задержках.
|
||||
|
||||
- Отключение учета «грязных» страниц в не требующих этого режимах
|
||||
(`MDBX_WRITEMAP` при `MDBX_AVOID_MSYNC=0`). Доработка позволяет снизить
|
||||
накладные расходы и была запланирована давно, но откладывалась так как
|
||||
@ -81,25 +77,53 @@ ChangeLog
|
||||
данных. Тем не менее, по имеющейся информации, на Windows такой путь
|
||||
записи данных в целом обеспечивает более высокую производительность.
|
||||
|
||||
- Улучшение эвристики включения авто-слияния записей GC.
|
||||
|
||||
- Изменение формата LCK и семантики некоторых внутренних полей. Версии
|
||||
libmdbx использующие разный формат не смогут работать с одной БД
|
||||
одновременно, а только поочередно (LCK-файл переписывается при открытии
|
||||
первым открывающим БД процессом).
|
||||
|
||||
- В C++ API добавлены методы фиксации транзакции с получением информации
|
||||
о задержках.
|
||||
|
||||
- Added `MDBX_HAVE_BUILT IN_CPU_SUPPORTS` build option to control use GCC's
|
||||
`__builtin_cpu_supports()` function, which could be unavailable on a fake
|
||||
OSes (macos, ios, android, etc).
|
||||
|
||||
Исправления:
|
||||
|
||||
- Больше контроля и осторожности (паранойи) для страховки от дефектов `mremap()`.
|
||||
- Костыль для починки сборки со старыми версиями `stdatomic.h` из GNU Lib C,
|
||||
где макросы `ATOMIC_*_LOCK_FREE` ошибочно переопределяются через функции.
|
||||
- Использование `fcntl64(F_GETLK64/F_SETLK64/F_SETLKW64)` при наличии.
|
||||
Это решает проблему срабатывания проверочного утверждения при сборке для
|
||||
платформ где тип `off_t` шире соответствующих полей `структуры flock`,
|
||||
используемой для блокировки файлов.
|
||||
- Доработан сбор информации о задержках при фиксации транзакций:
|
||||
* Устранено искажение замеров длительности обновления GC
|
||||
при включении отладочного внутреннего аудита;
|
||||
* Защита от undeflow-нуля только общей задержки в метриках,
|
||||
чтобы исключить ситуации, когда сумма отдельных стадий
|
||||
больше общей длительности.
|
||||
- Ряд исправлений для устранения срабатываний проверочных утверждения в отладочных сборках.
|
||||
- Исправление лишнего сброса данных на диск в режиме `MDBX_SAFE_NOSYNC` при обновлении GC.
|
||||
- Fixed an extra check for `MDBX_APPENDDUP` inside `mdbx_cursor_put()` which could result in returning `MDBX_EKEYMISMATCH` for valid cases.
|
||||
- Ряд исправлений для устранения срабатываний проверочных утверждения в
|
||||
отладочных сборках.
|
||||
- Более осторожное преобразование к типу `mdbx_tid_t` для устранения
|
||||
предупреждений.
|
||||
- Исправление лишнего сброса данных на диск в режиме `MDBX_SAFE_NOSYNC`
|
||||
при обновлении GC.
|
||||
- Fixed an extra check for `MDBX_APPENDDUP` inside `mdbx_cursor_put()`
|
||||
which could result in returning `MDBX_EKEYMISMATCH` for valid cases.
|
||||
- Fixed nasty `clz()` bug (by using `_BitScanReverse()`, only MSVC builds affected).
|
||||
|
||||
Мелочи:
|
||||
|
||||
- Проверка атомарности C11-операций c 32/64-битными данными.
|
||||
- Уменьшение в 42 раза значения по-умолчанию для `me_options.dp_limit`
|
||||
в отладочных сборках.
|
||||
- Добавление платформы `gcc-riscv64-linux-gnu` в список для цели `cross-gcc`.
|
||||
- Небольшие правки скрипта `long_stochastic.sh` для работы в Windows.
|
||||
- Удаление ненужного вызова `LockFileEx()` внутри `mdbx_env_copy()`.
|
||||
- Добавлено описание использования файловых дескрипторов в различных режимах.
|
||||
- Добавлено использование _CrtDbgReport() в отладочных сборках.
|
||||
- Fixed an extra ensure/assertion check of `oldest_reader` inside `txn_end()`.
|
||||
|
Loading…
x
Reference in New Issue
Block a user