Boost logo

Boost :

Subject: Re: [boost] Phoenix3 port to proto complete
From: Thomas Heller (thom.heller_at_[hidden])
Date: 2010-07-23 14:14:13


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
Phoenix3 compile time of preprocessed code: 1.273s

Phoenix2 total compile time: 2.015s
Phoenix2 preprocess time: 1.320s
Phoenix2 compile time of preprocessed code: 0.788s

These timings may not be very represantative, but show in what state we
currently are, and that there is a high potential to reach phoenix2 compile
times.


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