eclipse-cyclonedds / cyclonedds-cxx

Other
93 stars 74 forks source link

Performance degradation with serialization of nested structs #261

Open budrus opened 2 years ago

budrus commented 2 years ago

The serialization performance at least for nested structs seems to be degraded with the latest cyclones-cxx.

Used commits:

Tests that reproduce this:

Expected behavior:

Actual behavior:

reicheratwork commented 2 years ago

Looking in to this case.

reicheratwork commented 2 years ago

Can confirm this issue. It seems that the entity_properties_t meta data container is not that good at being recursively created, lots of creating/copying of std::list going on.

I am working on a different (a flat in stead of a tree-like) approach for storing the sample metadata.

ErikAtApex commented 2 years ago

I ran some more experiments. @reicheratwork Thanks for working on this; your fixes made a big difference. The performance for this deeply-nested structure is only 25% as fast as 0.8.1, but much better than the 1-2 samples per second.