Tracy Profiler Integration

Stefan Koch uplink.coder at googlemail.com
Wed Aug 5 10:34:55 UTC 2020


On Tuesday, 4 August 2020 at 20:55:11 UTC, Per Nordlöw wrote:
> On Tuesday, 4 August 2020 at 20:54:01 UTC, Per Nordlöw wrote:
>> What do you mean by "semantically processed nodes"?
>
> I guess I understand what you mean by "semantically processed 
> nodes". The other question remains unanswered, though.

completely processed means just that.
That they are finished and can be just linked into the tree.

i.e. they know what they are.

In the example f(a, b).
That would mean we know the type, size, location and meaning of 
f, a, and b.
As well as anything f, a, and b might refer to.
Determining this can be a very expensive process,
just searching scopes upwards to know the meaning of a name can 
take very long,
if you have deep nesting (this happens in recursive templates for 
example.)

> Is this problem specific to `dmd`'s non-lazy implementation of 
> semantic analysis, D or templated statically typed languages in 
> general?

That's a tricky question. I don't know.
It is my strong believe however that templates (static 
polymorphism) as used in C++ or D,
is fundamentally hard to implement efficiently and fast.
Don't quote me on that unless I turn out to be right ;p


More information about the Digitalmars-d mailing list