Boost logo

Boost :

Subject: Re: [boost] Phoenix3 port to proto complete
From: Doug Gregor (doug.gregor_at_[hidden])
Date: 2010-07-23 17:29:25


On Fri, Jul 23, 2010 at 11:14 AM, Thomas Heller
<thom.heller_at_[hidden]> wrote:
> Mathias Gaunard wrote:
>
>> On 23/07/10 14:18, Thomas Heller wrote:
>>> Ladies and Gentlemen,
>>> I proudly announce that the port of phoenix3 is completed! All
>>> testcases pass! (some with minor modifications)
>>>
>>> So, What is next? Here is my proposed schedule:
>>>   - fix some minor issues
>>>   - improve boost.bind compatibility: make all boost.bind testcases pass
>>>   - implement all boost.lambda testcases and make them pass, as far as it
>>>   is
>>>     reasonable
>>>   - add support for C++0x lambdas
>>>   - make interoperability testcases for std::function, boost::function
>>>   - adapt the documentation
>>>   - clean up code (some parts are a little messy as of now)
>>>   - improve compile time
>>>
>>> Did I miss something?
>>
>> I would quite like to know how Phoenix 3 compares to Phoenix 2 in terms
>> of compile speed, even if you haven't fully optimized it yet.
>
> Let me give you a small example of what situation we currently have:
>
> For this test i used the core/primitives_test.cpp test and g++ 4.5
>
> Phoenix3 total compile time: 3.421s
> Phoenix3 preprocess time: 1.755s
> Phoenix3 compile time of preprocessed code: 1.835s
>
> Phoenix2 total compile time: 1.891s
> Phoenix2 preprocess time: 0.745s
> Phoenix2 compile time of preprocessed code: 1.106s
>
> comparing with clang:
>
> Phoenix3 total compile time: 3.901s
> Phoenix3 preprocess time: 2.738s

Ouch! The Clang guys will be looking into this
preprocessor-performance issue to see if we can do better. Thanks for
reporting this!

  - Doug


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