mirror of
https://github.com/isar/libmdbx.git
synced 2025-08-23 09:04:26 +08:00
mdbx-test: minor refine comments & keygen-params ranges.
Change-Id: I8ebb0647d4d5a8637d57a39e9ddee4727bffb18f
This commit is contained in:
@@ -124,7 +124,8 @@ inline bool parse_option_intptr(int argc, char *const argv[], int &narg,
|
||||
#pragma pack(push, 1)
|
||||
|
||||
struct keygen_params_pod {
|
||||
/* Параметры генератора пар key-value.
|
||||
/* Параметры генератора пар key-value. Также может быть полезным описание
|
||||
* алгоритма генерации в keygen.h
|
||||
*
|
||||
* Ключи и значения генерируются по задаваемым параметрам на основе "плоской"
|
||||
* исходной координаты. При этом, в общем случае, в процессе тестов исходная
|
||||
@@ -146,15 +147,15 @@ struct keygen_params_pod {
|
||||
* данных не анализируется движком и не оказывает влияния на его работу.
|
||||
* - Для таблиц "с дубликатами", при наличии более одного значения для
|
||||
* некоторого ключа, формируется дочернее btree-поддерево. Это дерево
|
||||
* формируется в отдельном "кусте" страниц и обслуживается независимо
|
||||
* от окружения родительского ключа.
|
||||
* формируется во вложенной странице или отдельном "кусте" страниц,
|
||||
* и обслуживается независимо от окружения родительского ключа.
|
||||
* - Таким образом, паттерн генерации значений имеет смысл только для
|
||||
* таблиц "с дубликатами" и только в контексте одного значения ключа.
|
||||
* Иначе говоря, нет смысла в со-координации генерации паттернов для
|
||||
* ключей и значений. Более того, генерацию значений всегда необходимо
|
||||
* рассматривать в контексте связки с одним значением ключа.
|
||||
* - Тем не менее, во всех случаях достаточно важным является равномерная
|
||||
* всех возможных сочетаний длин ключей и данных.
|
||||
* Иначе говоря, не имеет смысла взаимная координация при генерации
|
||||
* значений для разных ключей. Поэтому генерацию значений следует
|
||||
* рассматривать только в контексте связки с одним значением ключа.
|
||||
* - Тем не менее, во всех случаях достаточно важным является равновероятное
|
||||
* распределение всех возможных сочетаний длин ключей и данных.
|
||||
*
|
||||
* width:
|
||||
* Большинство тестов предполагают создание или итерирование некоторого
|
||||
@@ -166,7 +167,7 @@ struct keygen_params_pod {
|
||||
* степени двойки. Это ограничение можно снять, но ценой увеличения
|
||||
* вычислительной сложности, включая потерю простоты и прозрачности.
|
||||
*
|
||||
* С другой стороны, не-битовый width может быть полезен:
|
||||
* С другой стороны, не-n-битовый width может быть полезен:
|
||||
* - Позволит генерировать ключи/значения в точно задаваемом диапазоне.
|
||||
* Например, перебрать в псевдо-случайном порядке 10001 значение.
|
||||
* - Позволит поровну разделять заданное пространство (диапазон)
|
||||
@@ -203,7 +204,7 @@ struct keygen_params_pod {
|
||||
* rotate и offset:
|
||||
* Для проверки слияния и разделения страниц внутри движка требуются
|
||||
* генерация ключей/значений в виде не-смежных последовательностей, как-бы
|
||||
* в виде "пунктира", который постепенно заполняет весь заданных диапазон.
|
||||
* в виде "пунктира", который постепенно заполняет весь заданный диапазон.
|
||||
*
|
||||
* Параметры позволяют генерировать такой "пунктир". Соответственно rotate
|
||||
* задает циклический сдвиг вправо, а offset задает смещение, точнее говоря
|
||||
|
Reference in New Issue
Block a user