Problem/Motivation

Following #3530369: Make components from ancestor themes available I fear we can have performance issue loading all components with specific configuration and choices from UI Patterns.

Components

Components are defined by profile with configuration, should be easy to ensure cache, but first let measure performance impact to know if it's worth it.

Block

With configuration and flatten list, components are loaded the each time the same by Display Builder profile (configuration), entity_type and sometimes bundle:

  • Entity view: Each bundle + profile = same components
  • Views: Each profile = same components
  • Page: Each profile = same components

So we can have 2 + 1 x entity bundle versions of components.

We should ensure they are cached for this context, even provide extra manual cache.

Comments

mogtofu33 created an issue. See original summary.

mogtofu33’s picture

pdureau’s picture

Is it something to do on UI Patterns side, in their ComponentPluginManager?

mogtofu33’s picture

Title: [1.0.0-alpha2] Component library cache » Component library cache
Issue tags: -display_builder-1.0.0-alpha2 +display_builder-1.0.0-alpha3

Perhaps UI patterns side, this to be done after #3529103: Remove Island's specific Form classes and #3529067: Make Island plugins configurable, as configurable islands will impact a lot.

pdureau’s picture

pdureau’s picture

I move to beta phase because #3529260: Flatten the Fields list (pending ui_patterns 2.0.8) is moving some of the logic from Display Builder to UI Patterns 2.

mogtofu33’s picture

Title: Component library cache » Component library performance
Issue summary: View changes
Issue tags: -display_builder-1.0.0-beta +display_builder-1.0.0-alpha4

Back to alpha as the complexity of the Island is growing.

mogtofu33’s picture

Title: Component library performance » Block and components library performance
Issue summary: View changes
pdureau’s picture

Status: Needs work » Active

Back to alpha as the complexity of the Island is growing.

OK,and back to "Active" because there is still no commit here.

pdureau’s picture

pdureau’s picture

mogtofu33’s picture

Assigned: Unassigned » mogtofu33
mogtofu33’s picture

mogtofu33’s picture

Assigned: mogtofu33 » Unassigned
Issue tags: -display_builder-1.0.0-beta +display_builder-1.0.0-beta2
pdureau’s picture

pdureau’s picture

This issue may improve the current situation #3579298: Simpler ComponentLibrary configuration because in a site with 80 components and 120 variants, we are going from 280 draggables max to 120 draggables max. So, way less SortableJS object to track.

Will it make this ticket easier? And/or less relevant?

pdureau’s picture

Status: Active » Postponed
Issue tags: -display_builder-1.0.0-beta4 +display_builder-1.0.0-beta

Discussed with Jean (@mogtofu33). Let's postpone this because we don't notice that much slowness nowadays.

mogtofu33’s picture

Status: Postponed » Closed (outdated)
Issue tags: -display_builder-1.0.0-beta

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.