There are more news.
I wrote about manual template in-lining before, which is a fairly
effective in bringing down the compile-time.
Since templates are of course white-box, the compiler can do this
automatically for you. Recursive templates will still incur a
performance hit but the effects
On Friday, 9 September 2016 at 07:56:04 UTC, Stefan Koch wrote:
There is a direct linear relationship between the generated
code and the template body.
So If the range of change inside the template body can be
linked to the changed range in the binray and we link this to
the template
On Friday, 9 September 2016 at 15:28:55 UTC, Stefan Koch wrote:
On Friday, 9 September 2016 at 15:08:26 UTC, Iakh wrote:
On Friday, 9 September 2016 at 07:56:04 UTC, Stefan Koch wrote:
I was thinking on adding "opaque" attribute for template
arguments
to force template to forget some
On Friday, 9 September 2016 at 15:08:26 UTC, Iakh wrote:
On Friday, 9 September 2016 at 07:56:04 UTC, Stefan Koch wrote:
I was thinking on adding "opaque" attribute for template
arguments
to force template to forget some information about type.
E.g if you use
class A(opaque T) {...}
you can
On Friday, 9 September 2016 at 07:56:04 UTC, Stefan Koch wrote:
I was thinking on adding "opaque" attribute for template arguments
to force template to forget some information about type.
E.g if you use
class A(opaque T) {...}
you can use only pointers/references to T.
Probably compiler could
Am Fri, 09 Sep 2016 10:32:59 +
schrieb Stefan Koch :
> On Friday, 9 September 2016 at 09:31:37 UTC, Marco Leise wrote:
> >
> > Don't worry about this special case too much. At least GCC can
> > turn padLength from a runtime argument into a compile-time
> >
On Friday, 9 September 2016 at 09:31:37 UTC, Marco Leise wrote:
Don't worry about this special case too much. At least GCC can
turn padLength from a runtime argument into a compile-time
argument itself, so the need for templates to do a poor man's
const-folding is reduced. So in this case
Am Fri, 09 Sep 2016 07:56:04 +
schrieb Stefan Koch :
> Hi Guys,
>
> I keep this short.
> There seems to be much more headroom then I had thought.
>
> The Idea is pretty simple.
>
> Consider :
> int fn(int padLength)(int a, int b, int c)
> {
>/**
> very
Hi Guys,
I keep this short.
There seems to be much more headroom then I had thought.
The Idea is pretty simple.
Consider :
int fn(int padLength)(int a, int b, int c)
{
/**
very long function body 1000+ lines
*/
return result * padLength;
}
This will produce roughly the same code for