Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
Helium
-
None
-
None
-
Operating System: All
Platform: All
-
2003
Description
Patch https://git.opendaylight.org/gerrit/#/c/11136/ made some significant performance enhancements in the NormalizedNodeToNodeCodec deserialization code but there's improvements we can make in the NormalizedNodeToNodeCodec serialization code as well.
In NormalizedNodeToNodeCodec#encode, significant time is spent
serializing the YangInstanceIdentifier path via PathUtils even though it
isn't actually needed - the decode method doesn't decode it.
This might have been used by WriteModification and MergeModification
originally however they currently serialized/deserialize their
YangInstanceIdentifier path separately from the NormalizedNode via
InstanceIdentifierUtils. It turns out this takes significant time as
well as it's implemented similarly as PathUtils. We should serialized/deserialize the YangInstanceIdentifier path along with the NormalizedNode to take advantage of the improved PathArgumentSerializer and the NormalizedNodeSerializer's special QName encoding.
In looking at the NormalizedNodeToNodeCodec, there's other performance tweaks we can make.
Attachments
Issue Links
- blocks
-
CONTROLLER-839 Clustering : Snapshotting uses up too much memory
- Resolved