FLUID-4563: Implement caching for core framework facilities of grade and demands resolution

Metadata

Source
FLUID-4563
Type
Improvement
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
Antranig Basman
Reporter
Antranig Basman
Created
2011-11-30T02:33:30.821-0500
Updated
2024-07-22T09:40:40.611-0400
Versions
N/A
Fixed Versions
  1. 1.5
Component
  1. Framework

Description

The biggest performance bottleneck identified so far for FLUID-4541 has been excessive invocations of options merging in the framework, caused by repeated resolution of grades for framework classes (such as viewComponent) etc., as well as repeated calls to locateAllDemands during demands resolution. Given that the semantics of both of these facilities are intended to be static (that is, it should not be possible to see a different grade chain or complete demands set for a particular name, after the first resolution for that name), it would be a considerable performance improvement as well as a useful enforcement of semantic to cache the results of these lookups in the framework.

Comments

  • Michelle D'Souza commented 2012-01-20T16:49:47.789-0500

    Merged into the project repo at 1e7f0d8f071a69ef5d9cd75e18fc0fe3da170622 with several framework change issues:

    FLUID-4525
    FLUID-4532
    FLUID-4537
    FLUID-4539
    FLUID-4564
    FLUID-4563
    FLUID-4568

  • Antranig Basman commented 2012-05-07T04:26:04.173-0400

    Note that a part of this work in practice involved shifting "trundlers" out of the core framework as an early part of the work for FLUID-4705