$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Gennadiy Rozental (gennadiy.rozental_at_[hidden])
Date: 2006-12-15 15:06:37
"Felipe Magno de Almeida" <felipe.m.almeida_at_[hidden]> wrote in message
news:a2b17b60612151137o20340d10i5c2a2f18e293ca5c_at_mail.gmail.com...
> On 12/15/06, Gennadiy Rozental <gennadiy.rozental_at_[hidden]> wrote:
>> [snipped]
>
>
>> >> Let's say you have record with 10 optional elements. tuple based
>> >> solution
>> >> will end up compiling in anything from 1 to 10! different versions of
>> >> the
>> >> same function, while offline version will be only one. Also in case if
>> >> you
>> >> always want output in the same 10 column format I dont see easy way to
>> >> implement it using tuples.
>> >
>> > We can take an arbitrary Fusion tuple and iterate it. Why should we be
>> > limited to a fixed number of elements?!
>> >
>> > Also, only the templates that really get instantiated end up in the
>> > binary
>>
>> So if I have 100 different calls to the output function I will endup
>> with
>> 100 different instantiations instantiation, right? And even in case of
>> inlining my code size would be 100 times more?
>
> I believe that most tuple functions when inlined should occuppy almost
> the same as a function call, so I dont belive your estimative would be
> correct. With register allocation playing right, there would be less,
> or none, need to save registers and the results being used directly
> too, the whole using function could be even smaller when using the
> inlined one.
It's possible. Still there code size will be significantly bigger in
comparison with offline implementation, right?
Gennadiy