Boost logo

Boost :

Subject: [boost] [poly_collection] Two remarks
From: Dominique Devienne (ddevienne_at_[hidden])
Date: 2017-05-09 12:27:01


Just as Pete Bartlett mentioned, I'm also a fan of Joaquín's Multi-Index,
which I'm used in production for many years as well.

My only complaint about his proposed Poly-Collection is the fact I can't
leverage and thus
benefit from the performance of it, in a multi-index scenario, but as Joaquín
already answered
a few months ago, that's off-topic and by design, I know :)

Many of my BMIs have a by-type index, and the type-partitioned storage of
those in contiguous
memory for by-type scans would be (greatly?) beneficial. I'd be willing to
give up some iterator
guarantees BMI provides, as a node-based container, for intelligent
contiguous storage of elements,
without myself having to maintain by-value homogeneous containers with a
manually maintained
BMI of polymorphic pointers to those containers' elements.

My second remark is about parallelism. I suspect the new poly_collection
could be used
for more efficient parallel (and/or concurrent) processing of elements, and
would be interested
in examples and even a ::parallel_for_each() algorithm that leverages the
collection's internal
storage. And perhaps even on the write side, rather than having to make the
whole container thread-safe, but external mutexing for example, provide
ways for a more granular thread-safety by type or segment perhaps. Again,
probably off topic, but hardly something you can "add from the outside" I
think, and why I mention it here and now.

As merely a user of Boost, I don't feel qualified as a reviewer, beyond the
two above remarks.

Thanks, --DD


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk