Subject: Re: [boost] [review] Heaps
From: Tim Blechmann (tim_at_[hidden])
Date: 2011-06-01 09:04:27


hi thorsten,

> For the documentation, I suggest that pre and postcondition are more
> clearly stated,

what kind of pre- and postconditions are you refering to? do you have anything
specific in mind? or is there a library which does this in a very good way?

> and that the implementaion checks these with assertions
> e.g. for increase()/decrease()
> (didn't look at the source).

... this is a good point ... i should probably add some sanity checks

> Please also specify clearly what the requirements are for T on which
> the containers are templated. Is the implementation maximally generic in
> this area?

i do not really see any restriction on the held type ...

> Are the benchmark operating on the exact same data? I'm fine with using
> random data as long as the same elements are in the queues being
> compared. Similarly, one random sequence used in push comparisons. I
> couldn't tell if that is already the case.

it is the same sequence or random values read from a pre-filled array

> Something to think about: how difficult would it be to refactor
> the code such that it can be used like today, but also as intrusive
> containers (cf. Boost.Intrusive). When one needs many small prioriti
> queues, I bet intrusive containers is just damn fast.

during last gsoc i was discussing this with my mentor, who suggested to focus on
non-intrusive implementations. in general, there are two types of
implementations: node-based and container adaptors. the performance
characteristics really depend on the size of your nodes and on your use case ...

cheers, tim