Opened 3 years ago

Closed 3 years ago

#64663 closed enhancement (fixed)

Store distfile path in registry

Reported by: l2dy (Zero King) Owned by:
Priority: Normal Milestone:
Component: base Version: 2.7.1
Keywords: Cc: mascguy (Christopher Nielsen)
Port:

Description

port reclaim opens every installed port to retrieve their dist_subdir and distfiles. Reading from a database would be much faster if ports register their distfiles on install.

Change History (5)

comment:1 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:2 Changed 3 years ago by mascguy (Christopher Nielsen)

Also see issue:63068, which this fix will likely resolve.

comment:3 in reply to:  2 Changed 3 years ago by l2dy (Zero King)

Replying to mascguy:

Also see issue:63068, which this fix will likely resolve.

This change is not related to port clean. It's still a good idea to investigate the root cause of performance regression, in case there is room for improvement.

comment:4 Changed 3 years ago by l2dy (Zero King)

Performance has been optimized in [678921f1f76042f8fe354b2cce0c20c0b285f5fc/macports-base], but disk I/O is heavier than reading from a SQLite database because of sha256 checksumming of each Portfile. Benchmarks may be affected by disk cache so it's hard to compare the two.

comment:5 in reply to:  4 Changed 3 years ago by l2dy (Zero King)

Resolution: fixed
Status: newclosed

Replying to l2dy:

Performance has been optimized in [678921f1f76042f8fe354b2cce0c20c0b285f5fc/macports-base], but disk I/O is heavier than reading from a SQLite database because of sha256 checksumming of each Portfile. Benchmarks may be affected by disk cache so it's hard to compare the two.

Given that reclaim is not run frequently, the performance penalty should be acceptable. Closing.

Note: See TracTickets for help on using tickets.