#171 closed defect (worksforme)
ProgrammableOperator is recompiled in each clone
Reported by: | abeham | Owned by: | swagner |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.0 |
Component: | Operators.Programmable | Version: | 3.0 |
Keywords: | Cc: |
Description (last modified by swagner)
In each clone operation the custom code of programmable operators is recompiled. This causes severe performance losses when using programmable operators.
Change History (7)
comment:1 Changed 16 years ago by swagner
- Description modified (diff)
- Status changed from new to assigned
- Summary changed from Preventing ProgrammableOperator recompilation upon clone to ProgrammableOperator is recompiled in each clone
- Type changed from enhancement to defect
comment:2 Changed 16 years ago by abeham
comment:3 Changed 16 years ago by swagner
Ok, thanks for that info.
As we checked that programmable operators are not recompiled in each clone, I will close this ticket.
However, there is another issue: The compiled code is not included when persisting a programmable operator. Therefore, each operator has to be compiled again after deserialization. This is quite critical concerning performance in the case of distributed engines. I created another ticket for that aspect (#173).
comment:4 Changed 16 years ago by swagner
- Resolution set to worksforme
- Status changed from assigned to closed
comment:5 Changed 16 years ago by swagner
- Milestone changed from 3.0 to Iteration 0
Milestone 3.0 deleted
comment:6 Changed 14 years ago by swagner
- Milestone changed from Iteration 0 to Current
Milestone Iteration 0 deleted
comment:11 Changed 14 years ago by swagner
- Milestone changed from Current to HeuristicLab 3.3.0
Milestone Current deleted
Found the issue in my code. It happened because the ProgrammableOperator is defined in the Protocol, never executed, thus never compiled. Only its clone is compiled which is however thrown away. Performance hit is extremely severe, the workbench dropped from 40 minutes execution to less than 1.5 minutes when I fixed this bug.