Subject | Re: Recommendation for a c++ profiler? |
---|---|
Author | paulruizendaal |
Post date | 2008-12-27T10:27:40Z |
Mark,
case. I found Dmitry's arguments convincing: on reflection my
characterization of looper as a tree walker is only superficially
correct.
[1] Nodes are pretty much like VM instructions (with only few
exceptions as noted) already;
[2] The impure area is effectively a VM register block (in the sense
of the quoted paper);
[3] Direct threading is unlikely to provide advantage, as the 4..5
instructions of the switch are dwarfed by the tens..hundreds of
instructions in node execution.
The code may become easier to read if were refactored to be layed out
to show the VM more explicitly, but what is the point in that? Lot's
of work with no performance gain.
Paul
> > I wouldn't be so optimistic. Let's analyze what runtimeWhilst all measurement is good, it may have little reward in this
> > performance costs do they eliminate:
>
> I find it is always good to look at the real data, sometimes there
> is a surprise hidden in there.
case. I found Dmitry's arguments convincing: on reflection my
characterization of looper as a tree walker is only superficially
correct.
[1] Nodes are pretty much like VM instructions (with only few
exceptions as noted) already;
[2] The impure area is effectively a VM register block (in the sense
of the quoted paper);
[3] Direct threading is unlikely to provide advantage, as the 4..5
instructions of the switch are dwarfed by the tens..hundreds of
instructions in node execution.
The code may become easier to read if were refactored to be layed out
to show the VM more explicitly, but what is the point in that? Lot's
of work with no performance gain.
Paul