PlinyCompute provides a unique PC object model that eliminates (de)serialization overhead for moving complex objects between two networked nodes or between memory and disk on the same node.

It is up to the user to decide what to include in the class, however it has to satisfy these requirements:

  • The class has to derive from pdb::Object
  • Include the ENABLE_DEEP_COPY macro in the public section of the class.

There is one example for creating complex objects using PC object model:

  • Nested user-defined types: this is a data type that contains both simple data type members as well as pdb containers such as pdb::Vector or pdb::Map.