Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-9626

Support storage of a SOA using contiguous memory

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Open (View Workflow)
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: I/O
    • Labels:
      None
    • Bug / Feature:
      Feature request
    • Development:

      Description

      A classical 'Array of Structures', such as an std::vector, allows all memory used by the Structures to be allocated in one block. E.g.

      struct Foo { char c; int i; float f; };

      std::vector< Foo> foos;

      This same would be useful for 'Structures of Arrays' (SOA). For now, if one builds a ROOT storage SOA, that is not possible since ROOT will allocate storage for each individual column:

      struct Foos { size_t N; char* cs; int* is; float* f; };

      It would be useful to allow users to have a way of controlling how memory is allocated for the fields of an SOA when being read back from a ROOT file.

        Attachments

          Activity

            People

            • Assignee:
              pcanal Philippe Canal
              Reporter:
              chrjones Christopher Jones
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                PlannedEnd:
                PlannedStart: