openrave
openrave copied to clipboard
Speedup parameter planner parameters assignment
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 byLoadExtraParameters
Discussion points
-
_ptarget
ofGraspSetParameters
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.
Back then I did have a version that uses only json to assign planner parameters between derived classes.