Boost logo

Boost :

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




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