How templates might be improved
Stefan Koch via Digitalmars-d
digitalmars-d at puremagic.com
Sat Sep 17 05:02:47 PDT 2016
On Friday, 16 September 2016 at 23:44:42 UTC, Chris Wright wrote:
>
> On the other hand, in a change of behavior, this will be a
> cache miss and the template is instantiated twice:
>
> alias myint = int;
> alias TypeA = Typedef!int;
> alias TypeB = Typedef!myint;
No It would not be a miss the type is the same
> And this may or may not be a cache hit:
>
> alias TypeA = Typedef!(int, 0, "A");
> alias TypeB = Typedef!(int, 0, "A");
This would be a hit.
> If someone tries implementing the recursive form of the
> Fibonacci function with your change in place, they'll have
> unusably long compile times. However, in the typical case,
> compile times will be faster (and specific types can more
> easily receive special treatment as needed).
If someone tries to implement fibobacci as a recursive template
...
well there is no way that can be fast.
With interning or without.
More information about the Digitalmars-d
mailing list