Comments (1)
This is unreasonable. Sure.
- Holes are (relatively) expensive:
- creating each hole requires syscall and adding / updating internal FS structures (via journal, etc), moreover immediate PTE invalidation.
- for mmap-region each hole has more expensive page-fault (i.e. FS space allocation) and/or requires tracking.
- For B+Tree we will have a random pattern of single-pages holes, i.e. large and finely chopped file-allocation list, which would be updated on each hole-creation and hole-deletion.
- For mostly cases pages could be released / recycled not at the time it puts into GC lists (at transaction was committed), but later when all readers will complete its read transactions. Therefore hole creation requires additional post-processing.
libmdbx already performs aggressively "hot compactification" (pages deallocation at end of region with subsequent file truncation). Therefore, in view of the above, I do not consider the requested feature useful and/or reasonable.
from libmdbx.
Related Issues (20)
- Assertion `head_txnid != head_txnid' failed when using MDBX_SAFE_NOSYNC HOT 1
- fails to compile under termux (android) (v0.11.3) HOT 1
- Inserting much data in 1 tx causing OOM Killer HOT 3
- 4Tb assert HOT 49
- mdbx_env_open returns error 22 (Invalid argument) on 32-bit Android devices HOT 10
- [mdbx::byte] better forgo char8_t and always use unsigned char HOT 1
- "make dist" error on Mac HOT 1
- Windows MSVC 16.11.9 compile error HOT 10
- MDBX_SAFE_NOSYNC clarification HOT 5
- EXC_BAD_ACCESS on older iOS devices for first launch HOT 9
- is it possible to compile libmdbx for visual studio 2008 HOT 5
- Incoherent flaw of Linux' unified page/buffer cache HOT 7
- Enable overlapping RW+RO transactions HOT 3
- Unexpected 'MDBX_PROBLEM' error when reusing cursors from read-only transactions HOT 7
- mdbx_meta_head is not defined HOT 3
- Reference mdbx4s in the bindings table HOT 2
- Documentation about shared library build only HOT 2
- Intermittent MDBX_BAD_DBI error HOT 13
- Tracking DB size increase HOT 4
- Apple's Clang 12+ and deprecation treated as error HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libmdbx.