|
Boost : |
From: Jonathan Turkanis (technews_at_[hidden])
Date: 2005-03-07 13:38:53
Rene Rivera wrote:
> christopher diggins wrote:
>> The custom IDL pre-processor is my favourite option. One of the
>> biggest advantages (apart from being much much faster), is that it
>> can also include a built in optimizer and we will have more coherent
>> errors output earlier. That is by far the biggest problem with the
>> other three options.
>
> And the custom IDL pre-processor is my *least* favorite option :-) For
> the simple fact that it will slow adoption. As it will require another
> tool people will need to use. And that is especially painful for IDE
> users, where they may not have an easy way to change the tool
> functionality.
Good point.
> I still prefer the current, CPP multiple macro, IDL because it
> presents many more option for use and doesn't require additional
> resources.
The reason I am searching for alternatives is that interfaces written with the
current IDL take a long time to compile on some compilers (notably GCC). The
sixty-four regression tests currently take between 40 minute and a hour to run,
almost all of which is compilation, on GCC alone. Most of the tests involve a
three-level hierarchy of 8 small interfaces.
I guess I should have said in my first post that I am considering 3 and 4 to
supplement 1 or 2. I'll chose between 1 or 2 at some future date.
The FSM library gave me an idea for another compile-time optimization: allow
interface implementations to be placed in .cpp files. It may seem strange that
interfaces have implementation, but they do, and some of the metaprogramming is
devoted to definig them. Interfaces whose implementations are separated this way
would be slightly less efficient, but for some applications of interfaces, such
as RPC, this shouldn't matter at all.
Jonathan
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk