Free cookie consent management tool by TermsFeed Policy Generator

Opened 12 years ago

Closed 10 years ago

#1972 closed enhancement (done)

The TypeSelector dialog takes too long to show

Reported by: abeham Owned by: gkronber
Priority: highest Milestone: HeuristicLab 3.3.10
Component: PluginInfrastructure Version: 3.3.7
Keywords: Cc:

Description

When creating a new user-defined algorithm and adding a LookupParameter<T>, the time to wait until one can select a certain type for T is too long. I measured the "Select Type of Generic Type Parameter" dialog to appear after 30 seconds on my notebook. The second time is faster (3 seconds), I grant, but if you open the dialog for creating parameters in a different view, it takes 30 seconds again. While waiting HL appears frozen as the operation blocks the UI thread.

Attachments (1)

type discovery caching.patch (13.9 KB) - added by gkronber 10 years ago.
Path for caching of assemblies in type discovery

Download all attachments as: .zip

Change History (14)

comment:1 Changed 11 years ago by abeham

  • Component changed from ### Undefined ### to PluginInfrastructure
  • Owner changed from swagner to gkronber

comment:2 Changed 11 years ago by ascheibe

Possible duplicate of #1907

comment:3 Changed 11 years ago by ascheibe

  • Owner changed from gkronber to architects
  • Status changed from new to assigned

comment:4 Changed 11 years ago by gkronber

  • Owner changed from architects to gkronber
  • Priority changed from high to highest

Two ideas from our discussions:

  • types can be discovered (asynchronously?) at start-up and then be cached by the plug-in infrastructure
  • only assemblies belonging to plug-ins should be searched for HL types (currently, all types in all loaded assemblies are searched, including framework-assemblies)

comment:5 Changed 10 years ago by gkronber

The profiler showed that interestingly the problem is not type discovery but the ImageList used in the TypeSelector!

comment:6 Changed 10 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.10
  • Status changed from assigned to accepted

comment:7 Changed 10 years ago by gkronber

r10497: workaround to improve performance of type selector (the problem is that imagelist methods are SLOW)

comment:8 Changed 10 years ago by gkronber

  • Owner changed from gkronber to abeham
  • Status changed from accepted to reviewing

After r10497 "Select Type of Generic Type Parameter" dialog takes around 1sec to appear on my workstation.

Changed 10 years ago by gkronber

Path for caching of assemblies in type discovery

comment:9 Changed 10 years ago by gkronber

I also attached a patch for the plugin infrastructure to cache assemblies for type discovery. However, after the simple change in the TypeSelector (r10497) the effect of further changes in the plugin infrastructure is negligible.

comment:10 Changed 10 years ago by abeham

This is much faster now, great!

comment:11 Changed 10 years ago by abeham

  • Summary changed from Types should be discovered faster to The TypeSelector dialog takes too long to show

Ticket title update

comment:12 Changed 10 years ago by mkommend

  • Owner changed from abeham to gkronber
  • Status changed from reviewing to readytorelease

comment:13 Changed 10 years ago by gkronber

  • Resolution set to done
  • Status changed from readytorelease to closed

r10647: merged r10497 from trunk to stable.

Note: See TracTickets for help on using tickets.