|
Boost : |
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:
>>
>> 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.
Regards,
Christophe
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk