Opened 6 years ago

Closed 5 years ago

#1760 closed defect (done)

Processing time of optimizers increases when optimizers are executed multiple times

Reported by: swagner Owned by: abeham
Priority: high Milestone: HeuristicLab 3.3.7
Component: Optimization Version: 3.3.7
Keywords: Cc:

Description

When executing a batch run which contains an optimizer with a rather short run time, the processing time of the optimizer (i.e. going from the stopped into the prepared and from the prepared into the running state) takes longer an longer the more often the optimizer is executed. However, the execution time of the optimizer is not affected. It seems that there is some problem in the event handling of the execution state changes.

Change History (9)

comment:1 Changed 6 years ago by mkommend

  • Owner changed from swagner to mkommend
  • Status changed from new to accepted

comment:2 Changed 6 years ago by mkommend

The cause of the slow down was the object graph traversal in Algorithm, that had to been done to discover all IStatefulItems, which have to be initialized or cleared.

r7467:

  • added possibility to exclude members from object graph traversal by name
  • excluded runs from object graph traversal in the Algorithm
  • adapted DeepCloneableCloningTest

comment:3 Changed 6 years ago by mkommend

  • Owner changed from mkommend to swagner
  • Status changed from accepted to reviewing

comment:4 Changed 5 years ago by mkommend

  • Owner changed from swagner to abeham

comment:5 Changed 5 years ago by abeham

I looked at the changes in r7467. You currently exclude any "runs" field in any member of the object graph. Is this the desired intention or do you want to exclude a specific runs collection only? Did you also consider to pass a HashSet<object> to the method and compare if it contains the fieldvalue instead of passing a HashSet<string> and comparing against the fieldname?

comment:6 Changed 5 years ago by mkommend

Implemented previous suggestions from abheam.

r8212: Changed object graph traversal to use a hashset of objects for excluding specific members.

comment:7 Changed 5 years ago by abeham

  • Status changed from reviewing to readytorelease

r8220: fixed a bug

comment:8 Changed 5 years ago by mkommend

Thx for spotting this.

comment:9 Changed 5 years ago by mkommend

  • Resolution set to done
  • Status changed from readytorelease to closed
  • Version changed from 3.3.6 to 3.3.7
Note: See TracTickets for help on using tickets.