Boost logo

Boost :

From: JOAQUIN LOPEZ MU?Z (joaquin_at_[hidden])
Date: 2004-03-27 15:34:35


Hi Joerg

----- Mensaje original -----
De: jhr.walter_at_[hidden] (Joerg Walter)
Fecha: Sábado, Marzo 27, 2004 6:44 pm
Asunto: Re: [boost] Re: Formal Review: Indexed Set

>
> OTOH it might be surprising to search for the components of one
> library in
> different namespaces.

Yes, probably indexed_set should live in
boost::container::whatever with the rest of associated
components, and additionally, be lifted to boost
or boost::container.

>
> Two more remarks:
>
> 1. Documentation
>
> My linux browser (konqueror) has difficulties to correctly display the
> indexed_set documentation. HTML tidy shows a couple of problems.

Please send them to me privately and I'll try
to fix them.

>
> 2. Performance test
>
> Compiling the performance tests with ICC 8.0 uncovered a problem in
> indexed_set.hpp:
>
> 67,69c67,69
> < template <typename,typename,typename,typename> friend class
> detail::index_base;
> < template <typename,typename> friend class
> detail::header_holder;
> < template <typename,typename> friend class
> detail::converter;
> ---
> > template <typename,typename,typename> friend class
> detail::index_base;> template <typename,typename>
> friend class
> detail::header_holder;
> > template <typename,typename> friend class
> detail::converter;

There's an extra typename in the friend declaration
for index_base, right? I wonder how this splipped
through unnoticed for so long. I'll fix it, thanx for
the tip.

> Test results for GCC 3.3.2
>
> 1 regular index
> 10^3 elmts: 141.24%
> 10^4 elmts: 147.67%
> 10^5 elmts: 152.57%
> space gain: 100.00%
> 1 sequenced index
> 10^3 elmts: 154.99%
> 10^4 elmts: 157.43%
> 10^5 elmts: 153.71%
> space gain: 100.00%
> 2 regular indices
> 10^3 elmts: 108.23%
> 10^4 elmts: 124.78%
> 10^5 elmts: 121.79%
> space gain: 90.00%
> 1 regular index + 1 sequenced index
> 10^3 elmts: 123.96%
> 10^4 elmts: 137.12%
> 10^5 elmts: 145.98%
> space gain: 87.50%
> 3 regular indices
> 10^3 elmts: 100.11%
> 10^4 elmts: 119.70%
> 10^5 elmts: 129.12%
> space gain: 86.67%
> 2 regular indices + 1 sequenced index
> 10^3 elmts: 99.25%
> 10^4 elmts: 113.62%
> 10^5 elmts: 116.37%
> space gain: 84.62%
>
> Test results for ICC 8.0
>
> 1 regular index
> 10^3 elmts: 105.45%
> 10^4 elmts: 106.74%
> 10^5 elmts: 105.98%
> space gain: 100.00%
> 1 sequenced index
> 10^3 elmts: 112.29%
> 10^4 elmts: 112.20%
> 10^5 elmts: 111.43%
> space gain: 100.00%
> 2 regular indices
> 10^3 elmts: 63.17%
> 10^4 elmts: 67.35%
> 10^5 elmts: 71.65%
> space gain: 90.00%
> 1 regular index + 1 sequenced index
> 10^3 elmts: 65.19%
> 10^4 elmts: 69.00%
> 10^5 elmts: 72.62%
> space gain: 87.50%
> 3 regular indices
> 10^3 elmts: 49.76%
> 10^4 elmts: 57.97%
> 10^5 elmts: 60.94%
> space gain: 86.67%
> 2 regular indices + 1 sequenced index
> 10^3 elmts: 49.07%
> 10^4 elmts: 52.71%
> 10^5 elmts: 51.55%
> space gain: 84.62%
>
> I don't have an explanation for the difference.
>

How have you compiled the performance test in GCC?
Maybe you forgot to turn on optimization flag -O3.
The library has a jamfile that builds all the
test, examples and the eprformance test, if you
use this the performance program should compile
in release mode. I except performance results
to be roughly the same as with GCC 3.3.1, which I
measured in my performance section.

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo


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