mirror of
https://github.com/isar/libmdbx.git
synced 2025-06-07 18:12:39 +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
|
## В разработке v0.12.2
|
||||||
|
|
||||||
|
|
||||||
Новое:
|
Новое:
|
||||||
|
|
||||||
- В C++ API добавлены методы фиксации транзакции с получением информации
|
|
||||||
о задержках.
|
|
||||||
|
|
||||||
- Отключение учета «грязных» страниц в не требующих этого режимах
|
- Отключение учета «грязных» страниц в не требующих этого режимах
|
||||||
(`MDBX_WRITEMAP` при `MDBX_AVOID_MSYNC=0`). Доработка позволяет снизить
|
(`MDBX_WRITEMAP` при `MDBX_AVOID_MSYNC=0`). Доработка позволяет снизить
|
||||||
накладные расходы и была запланирована давно, но откладывалась так как
|
накладные расходы и была запланирована давно, но откладывалась так как
|
||||||
@ -81,25 +77,53 @@ ChangeLog
|
|||||||
данных. Тем не менее, по имеющейся информации, на Windows такой путь
|
данных. Тем не менее, по имеющейся информации, на Windows такой путь
|
||||||
записи данных в целом обеспечивает более высокую производительность.
|
записи данных в целом обеспечивает более высокую производительность.
|
||||||
|
|
||||||
|
- Улучшение эвристики включения авто-слияния записей GC.
|
||||||
|
|
||||||
|
- Изменение формата LCK и семантики некоторых внутренних полей. Версии
|
||||||
|
libmdbx использующие разный формат не смогут работать с одной БД
|
||||||
|
одновременно, а только поочередно (LCK-файл переписывается при открытии
|
||||||
|
первым открывающим БД процессом).
|
||||||
|
|
||||||
|
- В C++ API добавлены методы фиксации транзакции с получением информации
|
||||||
|
о задержках.
|
||||||
|
|
||||||
- Added `MDBX_HAVE_BUILT IN_CPU_SUPPORTS` build option to control use GCC's
|
- 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
|
`__builtin_cpu_supports()` function, which could be unavailable on a fake
|
||||||
OSes (macos, ios, android, etc).
|
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
|
* Устранено искажение замеров длительности обновления GC
|
||||||
при включении отладочного внутреннего аудита;
|
при включении отладочного внутреннего аудита;
|
||||||
* Защита от undeflow-нуля только общей задержки в метриках,
|
* Защита от 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).
|
- 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() в отладочных сборках.
|
- Добавлено использование _CrtDbgReport() в отладочных сборках.
|
||||||
- Fixed an extra ensure/assertion check of `oldest_reader` inside `txn_end()`.
|
- Fixed an extra ensure/assertion check of `oldest_reader` inside `txn_end()`.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user