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

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: framework-3.0.6
    • Fix Version/s: framework-3.0.7
    • Component/s: Framework
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: