Ticket #9364 (closed: fixed)
CopyInstrumentParameters performance & efficiency
Reported by: | Alex Buts | Owned by: | Alex Buts |
---|---|---|---|
Priority: | major | Milestone: | Release 3.2 |
Component: | Framework | Keywords: | |
Cc: | Blocked By: | #9082 | |
Blocking: | Tester: | Nick Draper |
Description
This is actually continuation of the ticket #9082
The fix provided in #9082 should work but
1) instrument parameters values are copied as strings when shared pointer to the parameter is available.
2) Parameter map is copied& reallocated twice when new map is there.
3) Algorithm performance test.
4) Merging the parameter map option? (it may be another ticket)
To complete the #9082 properly, at least 1-3 should be fixed.
Change History
comment:2 Changed 6 years ago by Alex Buts
refs #9364 Working performance test
Changeset: d7d614ed1027f5ff9e2357f49273018baf2c24af
comment:4 Changed 6 years ago by Alex Buts
- Status changed from assigned to inprogress
refs #9364 Add parameter through pointer implemented
and deployed within CopyInstrumentParameters. The map is now copy of itself ? (clear way to introduce cow_ptr to map)
Changeset: ae9556712b19e228518a579702259742375ee74d
comment:5 Changed 6 years ago by Alex Buts
refs #9364 clone method on Parameter and test for it.
Changeset: a46f4cd242591995c50c36b0c0751cc214940450
comment:6 Changed 6 years ago by Alex Buts
refs #9364 CopyInstrumentParameters clones parameters rather then
recreates it through strings
Changeset: 9e500a45ec039458a48a087d9d71a1ac023c0408
comment:7 Changed 6 years ago by Alex Buts
refs #9364 Avoid copying second parameter map.
swap contents of new map with contents of old map instead.
Changeset: a8ac6eed0f2ff83aba782bb866bc8ce979218954
comment:8 Changed 6 years ago by Alex Buts
refs #9364 Comments bla bla
Changeset: 275e70994ccf8c7c0c58a8db6737339c9f952352
comment:9 Changed 6 years ago by Alex Buts
- Status changed from inprogress to verify
- Resolution set to fixed
I've implemented 1-3 and seen 5-fold increase in performance test speed in debug mode.
It is also very simple to make shallow copy of the instrument parameters but I am not sure if this is reasonable/needed.
4) is another not entirely trivial ticket so I am leaving it for a future if anybody actually need this functionality.
Test by code review or running testing script from #9082. All tests&functionality should not be affected.
comment:10 Changed 6 years ago by Nick Draper
- Status changed from verify to verifying
- Tester set to Nick Draper
comment:11 Changed 6 years ago by Nick Draper
- Status changed from verifying to closed
Merge remote-tracking branch 'origin/feature/9364_CopyInstrumentPar'
Full changeset: 1669e65dc8194a70978468ac2063b372bd4bc502
comment:12 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 10207
refs #9364 Performance test
Changeset: 5ee366d160901d6b88d40f8e2e68fc233600d91f