1
0
mirror of https://github.com/fumiama/fumidb.git synced 2026-06-11 05:30:26 +08:00
This commit is contained in:
源文雨
2022-05-01 01:19:38 +08:00
parent f4fad55ca4
commit 1463c1f606
8 changed files with 151 additions and 9 deletions

View File

@@ -34,7 +34,7 @@
#### 新建
空闲块不会被主动新建,而是源于分配时富余的部分以及删除后的剩余。
#### 合并
受限于记录长度的数字为uint16一块未被使用的空闲空间大小最大为`65535`一般则不使其超过`32768`。如果确有连续的超过`32768`字节的空闲,应当划分为多个块。特别地,如果确有连续的超过`32768`字节的空闲且其后的空间不足`4096`字节,应当适当减小前一块的大小,使后一块大小超过`4096`字节
受限于记录长度的数字为uint16一块未被使用的空闲空间大小最大为`65535`实际使用时不使其超过`4096`。如果确有连续的超过`4096`字节的空闲,应当划分为多个块。块应当是`4k`对齐的
#### 使用
使用时优先从第一个块遍历比较其大小以及页对齐是否符合要求。当使用后仍有剩余对于小于10字节的块直接舍弃不用否则更新块大小与相关链表指针。
### 表