Opened 10 months ago

Closed 4 months ago

#2672 closed enhancement (done)

Online calculators should be cloneable

Reported by: bburlacu Owned by: mkommend
Priority: medium Milestone: HeuristicLab 3.3.15
Component: Problems.DataAnalysis Version: 3.3.14
Keywords: Cc:

Description

In certain use cases it would be useful for performance reasons to cache online calculator state before adding new values (eg., in the case where a quantity has to be calculated on overlapping intervals). This can be achieved by allowing the calculators to be cloned, so each online calculator should implement IDeepCloneable.

Change History (10)

comment:1 Changed 10 months ago by bburlacu

  • Status changed from new to accepted

r14293: Implement online calculator cloning.

comment:2 Changed 10 months ago by bburlacu

r14294: Add cloning constructors.

comment:3 Changed 10 months ago by bburlacu

r14295: Fix typo bug in cloning constructor.

comment:4 Changed 10 months ago by bburlacu

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

comment:5 Changed 9 months ago by mkommend

r14372: Adapted OnlineAccuracyCalculator to use correct deep cloning pattern.

comment:6 Changed 9 months ago by mkommend

  • Owner changed from mkommend to bburlacu
  • Status changed from reviewing to assigned

Reviewed r14293:14295 and noticed that a rather strange and unusual (HL standard) cloning pattern has been used. I adapted the OnlineAccuracyCalculator with r14372 (reorganized methods, code organization, removed default arguments in ctor, derived from DeepCloneable, ...). Please adapt all other online calculators in the same way.

comment:7 Changed 9 months ago by bburlacu

r14376: Updated cloning mechanism to conform to the HL standard.

comment:8 Changed 9 months ago by bburlacu

  • Owner changed from bburlacu to mkommend
  • Status changed from assigned to reviewing

comment:9 Changed 8 months ago by mkommend

  • Status changed from reviewing to readytorelease

r14465: Corrected cloning of online calculators (added missing base ctor calls, moved clone method, renamed other to original, and used the cloner for cloning).

comment:10 Changed 4 months ago by mkommend

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

r14801: Merged r14293,r14294,r14295,r14372,r14376,r14465 into stable.

Note: See TracTickets for help on using tickets.