|
Boost : |
From: Robert Ramey (ramey_at_[hidden])
Date: 2005-11-10 12:08:54
Wow - that is very interesting information for me. It turns out that 1.33.x
does
not use strmp for this purpose so maybe it will be faster. This kind of
result
is very much in line with my experience with profilers. It almost happens
that the bottlenecks turn out to be in the last place I would have looked
!!!
So I am anxious to get at least the gcc profiler working for some
serialization
performance tests.
Thanks for this very useful information.
Robert Ramey
Martin Slater wrote:
>> I've written a test program to compare the time required by boost
>> serialization
>> to the time required by using stream i/o to do a similar operation.
>> I've only
>> used VC 7.1 (release mode) and my focus has been to try to determine
>> how much overhead
>> the serialization system adds compared to the alternative of not
>> using it. The
>> test consists for saving/loading 1000 instances of a class which
>> includes all primitive types (? about 20 members including strings).
>> Times are calculated
>> by dividing the total time by 1000 to give ms / operaton.
>>
>> These preliminary results don't raise any major red flags.
>
> Just to reiterate my experience of profiling boost::serialization
> loading under vtune (I cannot recommend this enough for serious
> performance analysis) using one of our real data files for testing
> (weighs in at > 100mb and thousands of individual instances of
> objects) that the major bottleneck was strcmp caused by the type_id
> compare looking up the per type information used for tracking and the
> such. This outweighed everything else by a wide margin. I can dig up
> the details if your interested and up some point I will need to look
> at this again and try and optimise it. This was using 1.32.0 so take
> the above with a grain of salt *if* this area has changed
> significantly.
>
> Martin
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk