Re: [Boost-bugs] [Boost C++ Libraries] #1670: wave almost unusably slow on real-world input

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #1670: wave almost unusably slow on real-world input
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-11-20 08:52:19


#1670: wave almost unusably slow on real-world input
--------------------------------------+-------------------------------------
  Reporter: stefan | Owner: hkaiser
      Type: Bugs | Status: reopened
 Milestone: Boost 1.36.0 | Component: wave
   Version: Boost Development Trunk | Severity: Problem
Resolution: | Keywords:
--------------------------------------+-------------------------------------

Comment(by jordi_at_[hidden]):

 Maybe our experience can bring some useful information to this bug, and it
 could locate some critical issue maybe in another boost library:

   We met a similar problem: in our program we process around a 1000 files
 with Wave and custom callbacks and it was taking much more than expected.
 We profiled and found out that it spent 95% of time traversing the thread-
 specific pointer list, in find_tss_data.

   A more restricted test, compiling 6 batches with 30 times the same file
 was surprisingly giving higher time on each successive batch. We checked
 that we were not leaking any resources, and we are not doing strange
 things. We disabled threading support in Wave and that fixed the problem,
 making it the same time for each batch as it should. The real world case
 moved from 40 minutes to 4 in some cases.

   My conclusion is that something is not well managed with the thread
 specific pointers either in WAVE, or in SPIRIT or in BOOST::THREAD itself.
 This could be potentially a critical bug if that is the case, and should
 be scaled down to the suitable libraries.

   By the way, to disable threading I added this at the top of
 wave_config.hpp, which is probably not a good idea:

 #define BOOST_WAVE_SUPPORT_THREADING 0

   Platform is WinXP. Verified with both 1.36.0 and 1.37.0 versions.

   I hope this helps and thanks again for this great library.

 jordi

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/1670#comment:6>
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 : 2017-02-16 18:49:59 UTC