Summary: | equery can require an excessive amount of memory | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Paul Varner (RETIRED) <fuzzyray> |
Component: | Tools | Assignee: | Portage Tools Team <tools-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | langthang, pva |
Priority: | High | Keywords: | InVCS |
Version: | 2.0 | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
patch to limit memory usage in equery
patch to limit memory usage in equery package.py patch Patch benchmarks package.py.patch gentoolkit patch Updated gentoolkit patch |
Description
Paul Varner (RETIRED)
2005-04-27 21:44:13 UTC
Created attachment 57449 [details, diff]
patch to limit memory usage in equery
Created attachment 57450 [details, diff]
patch to limit memory usage in equery
blech, screwed up the patch for etcat.
Comment on attachment 57450 [details, diff]
patch to limit memory usage in equery
I found the underlying cause of the issue. I will submit a patch later.
Created attachment 57657 [details, diff]
package.py patch
Underlying cause was package.py creating a copy of portage.config object for
every package object created. This patch solves the memory usage and
significantly speeds up equery as well. I'll attach full benchmarks but an
equery hasuse -p perl dropped from 14 minutes to 46 seconds
Created attachment 57658 [details]
Patch benchmarks
Problem is that we need this copy as the setcpv() (required to reflect package.use settings) call makes the config instance package specific :-/ Hmm, I should have actually checked the patch first ... It should work, but I'm not really happy with that if statement, just thinking about a more general solution (in portage.config) right now. *** Bug 99517 has been marked as a duplicate of this bug. *** Created attachment 68588 [details, diff]
package.py.patch
Created attachment 68874 [details, diff]
gentoolkit patch
Updated patch to add semaphore access to the global portage.config object
Created attachment 68900 [details, diff]
Updated gentoolkit patch
Changed Sempaphore to Lock, removed reset() call.
Fix is in subversion Fix is in gentoolkit-0.2.1_pre8 Fixed in gentoolkit-0.2.1 |