[Boost-bugs] [Boost C++ Libraries] #13615: Could the performance of spirit::qi::parse() be much worse than std::stod()?

Subject: [Boost-bugs] [Boost C++ Libraries] #13615: Could the performance of spirit::qi::parse() be much worse than std::stod()?
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2018-06-23 12:26:45


#13615: Could the performance of spirit::qi::parse() be much worse than
std::stod()?
-------------------------------------------------+-------------------------
 Reporter: Mario Emmenlauer <mario@…> | Owner: Joel de
                                                 | Guzman
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: spirit
  Version: Boost 1.67.0 | Severity:
 Keywords: parser, stod, string, double, | Optimization
  performance |
-------------------------------------------------+-------------------------
 When converting from std::string to numerical formats, I found
 spirit::qi::parse() to be of superior performance compared to more
 standard commands like atof() or std::stod() on Linux. Typically it can be
 at least 4x faster, sometimes even more. This is true on several versions
 and flavours of Linux.

 However I get quite different results on Windows with MSVC, MinGW and the
 Intel Compiler and on MacOSX.

 On Windows and MacOSX spirit::qi::parse() is typically between 2 and 5
 times slower than atof() and std::stod() according to my benchmark. I
 understand that benchmarks are always a bit flaky, but I fail to
 understand such a huge difference.

-- 
Ticket URL: <https://svn.boost.org/trac10/ticket/13615>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2018-06-23 12:31:59 UTC