Boost C++ Libraries: Ticket #13615: Could the performance of spirit::qi::parse() be much worse than std::stod()? https://svn.boost.org/trac10/ticket/13615 <p> 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. </p> <p> However I get quite different results on Windows with MSVC, MinGW and the Intel Compiler and on MacOSX. </p> <p> 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. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/13615 Trac 1.4.3 Mario Emmenlauer <mario@…> Mon, 25 Jun 2018 10:59:59 GMT <link>https://svn.boost.org/trac10/ticket/13615#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/13615#comment:1</guid> <description> <p> Please close this ticket as invalid. </p> <p> I was running the benchmark as part of testing. And testing uses a debug build. When switching the benchmark to release mode, boost::spirit::qi is the fastest parser of the parsers that perform error checking. Only atof() can be faster sometimes, but since it does not give any guarantee about correctenss, I do not include it in the valid results. Thanks for the nice library! </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Joel de Guzman</dc:creator> <pubDate>Thu, 22 Nov 2018 13:53:25 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/13615#comment:2 https://svn.boost.org/trac10/ticket/13615#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">invalid</span> </li> </ul> Ticket