Boost logo

Boost :

Subject: Re: [boost] Proposal: Monotonic Containers
From: Christian Schladetsch (christian.schladetsch_at_[hidden])
Date: 2009-06-12 04:30:50


Hello,

The code with the various suggested fixes and all references tests is now in
the sandbox at svn.boost.org/svn/boost/monotonic.

On VS2008, full optimisation:
Incrementing ord = 2.99 ps per iteration
Incrementing ord = 2.99 ps per iteration
STD: Incrementing ord = 3.22 ps per iteration
STD: Incrementing ord = 3.19 ps per iteration
monotonic: 0.001
std: 0.016
monotonic: 0.014
std: 0.955

On GCC 4.3.3, -O4:
Incrementing ord = 2.6 ps per iteration
Incrementing ord = 2.7 ps per iteration
STD: Incrementing ord = 3.1 ps per iteration
STD: Incrementing ord = 2.7 ps per iteration
monotonic: 0
std: 0
monotonic: 0.02
std: 0.02

Obviously, I have a lot of testing to do to show anything real (other than
that GCC is better at optimisation than VS in these cases). However, none of
the results are discouraging; there is no case where monotonic is slower and
only cases where it is faster.

However, I am the first to admit that I really need to provide far better
and more exhaustive testing. Now that it is in the sandbox, that will be
easier to do.

Thanks and Regards,
Christian.

On Fri, Jun 12, 2009 at 7:36 PM, Christian Schladetsch <
christian.schladetsch_at_[hidden]> wrote:

> Hi Scott,
>
> Thanks for that; adding operator!= for monotonic::allocator seems to've
> fixed it. I am in the process of incorporating all the suggested changes
> into the sandbox now, and testing across more compilers.
>
> Cheers,
> Christian.
>
>
> On Fri, Jun 12, 2009 at 7:05 PM, Scott McMurray <me22.ca+boost_at_[hidden]>wrote:
>
>> 2009/6/11 Christian Schladetsch <christian.schladetsch_at_[hidden]>:
>> >
>> > template<typename C>
>> > void test_loop_monotonic()
>> > {
>> > boost::monotonic::inline_storage<100000> storage;
>> > boost::monotonic::vector<Foo<C> > vec(storage);
>> > Foo<C> orig = { 'A', 65 };
>> > vec.assign(ELEM_COUNT, orig);
>> > }
>> >
>>
>> This doesn't even compile for me (GCC 4.3.3), apparently because it
>> can't swap the allocators.
>> _______________________________________________
>> Unsubscribe & other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost
>>
>
>


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