Boost logo

Boost Users :

Subject: Re: [Boost-users] [MSM] state transitions and exceptions
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-04-04 21:07:04


on Tue Apr 03 2012, Sebastian Redl <sebastian.redl-AT-getdesigned.at> wrote:

> On 01.04.2012, at 22:13, Christophe Henry wrote:
>
>> I'm not an expert in this field, but this surprises me a bit.
>> I understand that there is not much parallelism in parsing a file, but after?
>> Taking msm as example. Most of the compile time comes from template
>> instanciations of the function process_event for every event
>> type. Adding support for a new event adds roughly the same
>> compilation time. Every process_event has little in common with
>> other process_event instances. What prevents the compiler from
>> handling each at the same time?
>
> The locking mechanism for ASTs would probably be very complicated if
> you want to do template instantiation in parallel. It probably could
> be done, but going that route isn't very attractive because the cores
> are much better used compiling 6 files in parallel.

Plus, the way the language is defined, ordering is very important.
There's a point of definition and various points of instantiation...
particular lookups are done in those locations, and the symbol table has
to be right in each case, at least with respect to the symbols used in
the template. I doubt it's easy to unwind those dependencies.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net