[MacPorts] #70556: "base" seemingly locking up for sometimes very long
MacPorts
noreply at macports.org
Sun Aug 18 15:40:08 UTC 2024
#70556: "base" seemingly locking up for sometimes very long
--------------------------+--------------------
Reporter: RJVB | Owner: (none)
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: base | Version:
Resolution: | Keywords:
Port: |
--------------------------+--------------------
Comment (by RJVB):
three more thoughts related to size:
- sqlite3 is a relational database, and is currently used to store
absolute paths. Couldn't that be optimised at least for the major common
shared path, `libdir`, `bindir` etc. or *at least* `prefix`? Every access
to the registry goes via one of the 2 binary extensions so if sqlite
cannot already expand any variables, the appropriate extension can. Idem
for mapping absolute paths to the way they'd be stored. So all the
dependent Tcl code can remain oblivious of the change.
- All those repeating shared path components must explain why I see a
>2.3x compression with LZ4 (and >10x with xz -9!). I once modded a project
that stored lots of code snippets via the filesystem to store them
LZ4-compressed in an `lmdb` key/value database. LZ4 has very little
compression overhead if you let it build up a dictionary so this change
sped up the application considerably.
- And a bit of a wild one: how about splitting the registry DB over two
files, one for the inactive ports, one for the active ports? My guess is
that the latter one will see the brunt of all operations, but should also
remain about as compact as possible.
--
Ticket URL: <https://trac.macports.org/ticket/70556#comment:12>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list