openrave icon indicating copy to clipboard operation
openrave copied to clipboard

Speedup parameter planner parameters assignment

Open kanbouchou opened this issue 3 years ago • 1 comments

Summary

  • In production, assignment of planner parameters takes hundreds of microsec.
  • In feature, it is faster by 10x, tens of microsec.
  • For some application, this difference accumulates to 1 second or more of planning time.

Production behavior

  • assignment operator was loading members in derived class by serialize->deserialize with xml format.
  • assignment operator was doing more than assignment, namely, it was parsing _sPostProcessingPlanner and _sPostProcessingParameters from _sExtraParameters

Feature behavior

  • assignment operator(=) copies members by down casting, without going through xml string.
  • parsing of _sPostProcessingPlanner and _sPostProcessingParameters are done explicitly by LoadExtraParameters

Discussion points

  • _ptarget of GraspSetParameters is copied by environment body index as it is the behavior in production. Do we have a better identifier such as name or id?

Future TODO

  • start using json string instead of xml.

kanbouchou avatar Jun 28 '21 09:06 kanbouchou

Back then I did have a version that uses only json to assign planner parameters between derived classes.

tgn3000 avatar Jun 29 '21 14:06 tgn3000