Bug 1049205
| Summary: | [perf][rel-eng] force evaluation of Query and maintain the result map | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Daniel Mach <dmach> |
| Component: | hawkey | Assignee: | Honza Silhan <jsilhan> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | medium | ||
| Version: | 22 | CC: | jsilhan, jzeleny, packaging-team-maint |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-06-22 17:36:18 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 578256, 1080837 | ||
We rather speed up performance of Query. Adding `.save()` method that would compute and hold the result of the Query for later use. That would be easier to implement and more versatile for other use cases. Do you have any ETA for this change? Hawkey performance issues are blocking Pungi yum->dnf transition for more than a year. In my use cases is hawkey roughly 5x slower than yum. no more than another year, I hope. It will be on my TODO list. This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle. Changing version to '22'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22 |
I have a sack with packages of all possible arches. I always run queries this way: q.filter(arch=[<supported arches>]).filter(...) Running multiple queries is *very* slow due to the arch filtering. I'd like to populate per-arch sacks. In general, it would be nice to create a sack with user-defined content. s = hawkey.Sack() # populate with individual packages s.add_packages([pkg, pkg, ...]) # populate with query results s.add_packages(q.filter(arch=[<supported arches>])