Excessive amount of .drv GC roots will slow significantly any GC operation #930

Open
opened 2025-07-25 23:38:42 +00:00 by raito · 0 comments
Owner

Evaluate a couple of Nixpkgs and place GC roots for every of their .drv.

(Let's say: have 600-800K GC roots.)

Run any GC operation, strace it, notice that it's spending its whole life readlinking from the auto GC root and stumbling on your active GC roots for these .drv.

Describe the solution you'd like

GC performance should not be THAT affected.

Describe alternatives you've considered

Do not be like Raito, do not evaluate a couple of nixpkgs.

Additional context

This came up because I have development trees of software that performs a lot of evaluation (evolive & security tracker).

## Is your feature request related to a problem? Please describe. Evaluate a couple of Nixpkgs and place GC roots for every of their .drv. (Let's say: have 600-800K GC roots.) Run any GC operation, strace it, notice that it's spending its whole life readlinking from the auto GC root and stumbling on your active GC roots for these .drv. ## Describe the solution you'd like GC performance should not be *THAT* affected. ## Describe alternatives you've considered Do not be like Raito, do not evaluate a couple of nixpkgs. ## Additional context This came up because I have development trees of software that performs a lot of evaluation (evolive & security tracker).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/lix#930
No description provided.