Subject: Re: [boost] sentinels vs iterators
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2014-08-23 10:39:14
On 21/08/2014 12:12, Joaquin M Lopez Munoz wrote:
> months ago I explored a container-like construct for polymorphic
> objects that group elements by run-time type so as to greatly
> speed up for_each processing:
IMHO you're comparing oranges and apples, the memory layout and
traversal properties are entirely different.
Your structure has a varying number of elements, all of different sizes,
which isn't directly compatible with the memory representation of a
vector and therefore requires indirection and fragmentation (unique_ptr).
If you want to do a more fair comparison, it would be interesting to try
to keep the same memory layout but just in a different order, for
example using instruvie linked lists, to see whether it is indeed the
branch prediction of the vtable that gives you those benefits.