Boost logo

Boost :

From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2006-01-07 19:28:02


"Tobias Schwinger" <tschwinger_at_[hidden]> wrote

> Arkadiy Vertleyb wrote:
> >
> > OK, but this means we have to change the syntax of REGISTER macros to do
> > something like:
> >
> > #include BOOST_TYPEOF_REGISTER_...(...)
> >
> > I remember you suggested this during the review. I am still not quite
> > comfortable with the idea...
> >
>
> No it's a different pair of shoes I'm talking about here (in fact, having
used the
> library some more I found several situations that require REGISTER_* to be
macros,
> so you can safely forget about my review suggestion).
>
> What I'm talking about here is purely an implementation issue and doesn't
affect
> the interface at all (typeof/vector.hpp). I'll attach a patch that
highlights the
> changes needed to make things work for 118 <= LIMIT_SIZE <= 238.

Of course, I already realized that I was saying some nonsence :-(

> >>Here's my modifications:
> ^^^^^ BTW excuse my beautiful english... ;-)
> >>
> >> http://tinyurl.com/839s3
> >
> >
> > How much faster is it?
> >
>
> Hard to say in general. It depends on the case:
>
> bjam run in ${BOOST}/libs/typeof/test
> =============================================
> without preprocessed files: about 2.5 minutes
> with preprocessed files: about 1.5 minutes
> original version: about 2.5 minutes *
>
> * slightly slower than the 1st
>
>
> Now to the cases that hurt:
>
> Test with LIMIT_SIZE = 117
> ==========================
> without preprocessed files: 45 seconds
> with preprocessed files: 13 seconds
> original version: 52 seconds
>
>
> Test with LIMIT_SIZE = 238
> ==========================
> without preprocessed files: about 5.5 minutes
> with preprocessed files: about 0.5 minutes
> original version: <limit exceeded>
>
> Test with LIMIT_SIZE = 250
> ==========================
> without preprocessed files: <limit exceeded>
> with preprocessed files: about 0.5 minutes
> original version: <limit exceeded>

Very good.

> More benchmarks needed?

No. Can you commit this? Just put a comment into vector.hpp about what
needs to be done when it changes (how to generate the preprocessed files),
and add your copyright to vector.hpp and generated files.

If you have some tests, can you add them, too?

Regards,
Arkadiy


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