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.
+-------------------+-------+------------+---------+
| stringstream_bm | glibc | stdcxx_old | stdcxx |
+-------------------+-------+------------+---------+
| read_write_multi | 0.68 | 1.05 | 1.05 |
| read_write_single | 7.99 | 14.43 | 14.41 |
| write_multi | 1.13 | 30.78 | 1.15 |
| write_read_cycle | 0.05 | 0.43 | 0.44 |
| write_read_multi | 7.58 | 46.53 | N/A |
| write_read_single | 8.08 | 45.76 | 15.37 |
| write_single | 2.00 | 31.02 | 2.36 |
| read_multi | 0.61 | 0.83 | 0.84 |
| read_single | 7.92 | 14.28 | 14.13 |
| read_write_cycle | 0.05 | 0.42 | 0.44 |
+-------------------+-------+------------+---------+
The bigest improvments spotted are in the write_single, write_multi, and
write_read_single tests (with the first two approaching the speed of
glibc). The write_read_multi test also showed a fair amount of
improvement (to 1.16 seconds), but the benchmark segfaults, so I must
discard the results of this test as unreliable.
I suppose it would make sense to note this failure with the STDCXX-149
JIRA incident.
--Andrew Black