stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: Benchmarking stdcxx
Date Tue, 21 Feb 2006 02:46:49 GMT
Martin Sebor wrote:
> Andrew Black wrote:
> 
>> Greetings all.
>>
>> Part of the intent for subversion submits r379032 through r379035 (as 
>> I understand them) was to address some of the slowness in the 
>> stringstream operations that was detected by the previous benchmarking 
>> run.  With a fresh benchmark run, the following are the results I 
>> get.  Results are user times in seconds, found by taking the average 
>> of  3 runs of 500000 itterations.

I also ran some simple benchmarks:

                    latest    gcc
                    stdcxx   4.0.2
   +---------------+-------+-------+
   | default ctor  |  1.00 |  1.22 |
   | char* ctor    |  1.00 |  1.59 |
   | string ctor   |  1.00 |  1.05 |
   | insert char   |  1.00 |   .96 |
   | insert char*  |  1.00 |   .56 |
   | insert string |  1.00 |   .53 |
   | sputn         |  1.00 |   .47 |
   +---------------+-------+-------+

Clearly there is still some room for improvement. I tweaked the
allocation policy used by stringbuf to double the size of the buffer
(rather than growing by a factor of 1.6 or so) but that didn't make
any difference (which should have been expected).

The last number is particularly puzzling because, AFAICT, xsputn()
(called by sputn) is optimal. I don't see a significant opportunity
for optimization there.

Martin

Mime
View raw message