Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-2737

[Framework] Optimize resolver algorithm by not re-calculating uses constraints for resolved modules

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • framework-3.0.6
    • framework-3.0.7
    • Framework
    • None

    Description

      To determine package space consistency, the resolver algorithm must calculate the package space of each module involved in the resolve operation. Since the resolver algorithm is stateless, it ends up re-calculating package spaces of resolved modules again and again. One of the more time consuming aspects of package space calculation is determining "uses" constraints, since they are transitive. The current algorithm re-calculates "uses" constraints for both resolved and resolving bundles. However, the "uses" constraints are only necessary for determining if a resolving bundle's package space is consistent; a resolved bundle's package space is consistent by definition (unless it is performing a dynamic import). Therefore, the resolver could be optimized by only calculating the "uses" constraints of resolving (and dynamically importing) bundles and not doing so for resolved bundles.

      Attachments

        Activity

          People

            rickhall Richard S. Hall
            rickhall Richard S. Hall
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: