mdbx: перенос LRU-отметок в теневые страницы по отрицательному смещению.

Это позволяет избавиться от повторного поиска в "гзязном" списке
страниц, уже находящихся в стеке курсора, для обнлвления LRU-отметок.
This commit is contained in:
Леонид Юрьев (Leonid Yuriev)
2023-01-01 01:26:55 +03:00
parent 8519fde741
commit f0c2927fc7
2 changed files with 55 additions and 46 deletions

View File

@@ -1059,10 +1059,7 @@ typedef txnid_t *MDBX_TXL;
/* An Dirty-Page list item is an pgno/pointer pair. */
typedef struct MDBX_dp {
MDBX_page *ptr;
pgno_t pgno;
uint32_t mlru;
#define MDBX_dp_multi_mask 1
#define MDBX_dp_lru_mask UINT32_C(0xffffFFFe)
pgno_t pgno, npages;
} MDBX_dp;
/* An DPL (dirty-page list) is a sorted array of MDBX_DPs. */