diff --git a/ChangeLog.md b/ChangeLog.md index 6eb1ff2b..4dfdb15e 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -12,14 +12,19 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx - [Erigon](https://erigon.tech/) за спонсорство. -Запланировано: +Новое: - - Реализация "Ранней очистки GC". В результате переработанные записи GC - будут удаляться не при фиксации пишущей транзакции, а преимущественно - сразу. После этого откроется путь к реализации явной дефрагментации (без - копирования БД) и далее к нелинейной переработке GC (что позволит - устранить проблему распухания/переполнения БД из-за остановки - переработке GC при длительных читающих транзакциях). + - Реализована "Ранняя очистка GC". + + Теперь переработанные записи GC удаляются не при фиксации пишущей + транзакции, а по-возможности сразу. Это открывает путь к реализации + явной дефрагментации (без копирования БД) и далее к нелинейной + переработке GC (что позволит устранить проблему распухания/переполнения + БД из-за остановки переработке GC при длительных читающих транзакциях). + + Объём накладных расходов теперь более пропорционален объему совершаемых + операций. Поэтому, в большинстве сценариев накладные расходы чуть + меньше, но наоборот чуть больше при отмене вложенных транзакций. Исправления: @@ -36,6 +41,11 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx что позволит работать собранной библиотеке в некоторых случаях, когда актуальное ядро/контейнер/эмулятор не поддерживает требуемых системных вызовов. + - Изменено значение по-умолчанию порога слияния страниц с 25% до 33%. + + - В тест добавлена поддержка опции `--numa #` для привязки стохастического теста к NUMA-узлу, + а в battery/tmux-скрипте добавлено явное распределение по NUMA-узлам. + -------------------------------------------------------------------------------- diff --git a/TODO.md b/TODO.md index 8c1a8065..32916e45 100644 --- a/TODO.md +++ b/TODO.md @@ -7,7 +7,6 @@ TODO - Новый стиль обработки ошибок с записью "трассы" и причин. - Формирование отладочной информации посредством gdb. - Поддержка WASM. - - Ранняя/не-отложенная очистка GC. - Явная и автоматические уплотнение/дефрагментация. - Нелинейная обработка GC. - Перевести курсоры на двусвязный список вместо односвязного. @@ -20,6 +19,7 @@ TODO Done ---- + - Ранняя/не-отложенная очистка GC. - Рефакторинг gc-get/gc-put c переходом на "интервальные" списки. - [Engage new terminology](https://libmdbx.dqdkfa.ru/dead-github/issues/137). - [More flexible support of asynchronous runtime/framework(s)](https://libmdbx.dqdkfa.ru/dead-github/issues/200).