[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