|
Boost : |
Subject: Re: [boost] [lexical_cast] Fast conversion from boost::iterator_range<std::string::iterator>?
From: Matthew Chambers (matt.chambers42_at_[hidden])
Date: 2011-11-23 17:15:53
On 11/23/2011 4:13 PM, Matthew Chambers wrote:
> I put together a test (http://codepad.org/lKxMXOwP):
>
> 1000000 iterations of "123":
> atoi: 0.0695092 seconds
> strtol: 0.0652839 seconds
> Spirit: 0.546789 seconds
> lexical_cast(string): 0.615594 seconds
> lexical_cast(iterator_range): 4.25534 seconds
> lexical_cast(iterator_range->string): 1.07405 seconds
>
> 1000000 iterations of "123567890":
> atoi: 0.0856611 seconds
> strtol: 0.0829571 seconds
> Spirit: 0.905017 seconds
> lexical_cast(string): 0.762137 seconds
> lexical_cast(iterator_range): 7.46185 seconds
> lexical_cast(iterator_range->string): 1.23397 seconds
>
> 1000000 iterations of "1.23456":
> atof: 0.520452 seconds
> strtod: 0.519113 seconds
> Spirit: 1.02579 seconds
> lexical_cast(string): 2.93515 seconds
> lexical_cast(iterator_range): 6.62648 seconds
> lexical_cast(iterator_range->string): 3.73831 seconds
>
> 1000000 iterations of "1.23456789e42":
> atof: 0.711819 seconds
> strtod: 0.719144 seconds
> Spirit: 1.48992 seconds
> lexical_cast(string): 3.31997 seconds
> lexical_cast(iterator_range): 9.87004 seconds
> lexical_cast(iterator_range->string): 4.20932 seconds
I forgot to say the test environment:
boost 1.47
MSVC 9 SP1
Core 2 Q9400
-Matt
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk