Why Ruby?
Michel Fortin
michel.fortin at michelf.com
Sun Dec 19 13:00:36 PST 2010
On 2010-12-19 15:17:50 -0500, Jacob Carlborg <doob at me.com> said:
> On 2010-12-19 19:29, Michel Fortin wrote:
>> Has anyone checked which of delegates or strings cause more template bloat?
>>
>> I'd suspect using strings will result in less bloat because the same
>> string will often be reused (making the compiler reuse the same template
>> instance) whereas the compiler will likely use the mangled name of the
>> delegate when instantiating the template... and no two delegate literals
>> have the same mangled name.
>
> That would only be the case if the function takes the delegate as a
> template parameter?
Indeed. Passing a delegate as a function argument won't create a new
instance of that function.
This is also why it runs slower: the function doesn't know which
delegate is called until runtime. If the function is short, it could be
inlined, which would in turn allow the delegate to be inlined and run
faster. But if you somehow could force the compiler to inline 'sort'
all the time it's likely the code bloat will be even worse.
--
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/
More information about the Digitalmars-d
mailing list