
On Sunday, May 08, 2011 07:36:32 PM Hartmut Kaiser wrote:
My pre-preprocessing work continues, and all EDSLs that use Proto will benefit from faster compiles. I'd like to thank Hartmut for his work on Wave and Thomas for getting me set up.
First results:
Spirit/Phoenix V2, MSVC, speedup ~8% (no opt), ~6% (opt) Spirit/Phoenix V3, MSVC, speedup ~5% (no opt), ~4% (opt), includes full
preprocessed headers for Phoenix Just to give you an idea of the impact of the recent events: g++ -I. libs/phoenix/test/core/primitives_tests.cpp -c real 0m1.525s user 0m1.370s sys 0m0.137s ---------------------------------------------------------------------------- g++ -I. libs/phoenix/test/core/primitives_tests.cpp -c - DBOOST_PROTO_DONT_USE_PREPROCESSED_FILES - DBOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES real 0m2.626s user 0m2.463s sys 0m0.157s ---------------------------------------------------------------------------- g++ -I. libs/phoenix/test/core/primitives_tests.cpp -c - DBOOST_PROTO_DONT_USE_PREPROCESSED_FILES real 0m2.414s user 0m2.283s sys 0m0.123s ---------------------------------------------------------------------------- g++ -I. libs/phoenix/test/core/primitives_tests.cpp -c - DBOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES real 0m1.729s user 0m1.607s sys 0m0.117s ---------------------------------------------------------------------------- g++ -I. libs/spirit/phoenix/test/core/primitives_tests.cpp -c real 0m2.291s user 0m2.123s sys 0m0.160s This means that phoenix V3 is up to 50% faster than V2! This is all depending on the usecase of course. Other testcase show that V3 is either as fast to compile or a little faster!
Thanks! I double that! Thanks! Thomas