Subject: [boost] [msm][eUML2][metaparse] Compile time
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2015-07-05 16:15:23
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:
>Christophe, this is wonderful work and a great example of the usefulness
>of Metaparse. Can you comment on the compile time compared to eUML?
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.
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk