Boost logo

Boost :

Subject: Re: [boost] [msm][eUML2][metaparse] Compile time
From: Michael Marcin (mike.marcin_at_[hidden])
Date: 2015-07-12 15:12:38


On 7/5/2015 3:15 PM, Christophe Henry wrote:
> Michael Caisse wrote:
>>>
>>> Boost.Msm v3 also implements a new compile-time strings based front-end
>>> called eUML2 to demonstrate the power of the library and the conciseness
>>> and expressiveness it allows.
>>> Please have a look at the documentation:
>>>
>>> https://htmlpreview.github.io/?https://raw.githubusercontent.com/boostorg/msm/msm3/doc/HTML/ch03s05.html
>>>
>>>
>>
>> Christophe, this is wonderful work and a great example of the usefulness
>> of Metaparse. Can you comment on the compile time compared to eUML?
>
> Hi Michael,
>
> sorry, I had completely forgotten this post and saw it while preparing
> the review results (which will be done soon).
>
> Please allow me to answer this question, with my apologies.
>
> I added in the msm3 branch a CompareFrontEnds.cpp example. It is a
> simple fsm with 12 transitions.
>
> I tried with gcc-4.9 and clang-3.5, using -O2 on a i7-5960X processor,
> suse linux 13.2. Here are the results.
>
> eUML
>
> clang 4s
>
> g++ 5s
>
> eUML2
>
> clang 9s
>
> g++ 14s
>
> Clang is clearly much faster than g++, with about 0.5s added
> compile-time per transition.
>
> With g++ it does not look so good. I already noticed that compile
> times of most production code at work with g++ is much higher than
> with clang.
>

2x slower on clang and 3x slower on gcc is pretty significant I think.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk