[Rpm-maint] [rpm-software-management/rpm] Dependency generator optimization and cleanup (#698)

Panu Matilainen notifications at github.com
Thu May 9 13:39:52 UTC 2019


This basically turns the dependency generation order inside out: previously we ran through the file list one by one, running dependency generators for all types the file was found to match, ie in file:attr:deptype order. Now we do the exact opposite: deptype:attr:file, which allows us to optimize to only expand all those macros once per deptype / attr instead of once per file. 

Sadly all that is lost in the noise of actually forking + executing those dependency generators, but this is basically a prerequisite for the far more important optimizations, such as (some day) teaching the generators to work on multiple files at once and ultimately, multiple generators in parallel.
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/698

-- Commit Summary --

  * Refactor dependency generation logic from code to data structure
  * Reorder dependency generation to run per type, not by file
  * Optimize exclude handling in dependency generation
  * Reorder dependency generator to run by type, attr, file
  * Expand all relevant macros outside the per-file generator busyloop

-- File Changes --

    M build/rpmfc.c (185)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/698.patch
https://github.com/rpm-software-management/rpm/pull/698.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/698
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20190509/98a1a899/attachment.html>


More information about the Rpm-maint mailing list