[EMAIL PROTECTED] wrote:
Talking about static vs dynamic dispatch tables:
> Brett Johnson wrote:
> | ... We have found no measurable overall
> | performance differences between the two for any reasonable dataset. ...
>
> Obviously this depends a lot on the dataset,
No doubt. Like I said, I could come up with a pathological dataset that
would show a small (5%-10%) performance hit. But that's a real corner
case on very fast hardware. I've never seen a dataset that came from
a real application show any measurable performance degradation.
> and I believe it depends
> greatly on the underlying hardware, too.
Yes it does, but the effect tends to be even smaller in cases where the
hardware is comparatively slower than the CPU. In other words, the only
place I was able to measure any performance hit was with the pathological
test case, on really gonzo graphics hardware (our fx6 board), running in
a machine with a relatively (by today's standards) slow CPU. I would be
very surprised if any currently available CPU/graphics combination would
show any measurable performance hit from using dynamic vs static tables.
> I'm inclined to vote for a
> dispatch mechanism that can be optimized in the cases for which it's
> worthwhile, even if the optimization is unnecessary for other
> combinations of app and hardware.
I agree that we don't want to gratuitously leave optimization opportunities
on the table, but I'm not sure I agree that this one is a good tradeoff.
The possible performance gain is too small, and the added complexity and
possible performance hit in the calling case is too large. I'm much more
concerned with API calling overhead and complexity than I am with dispatch
table update overhead. So I would much rather optimize the mainstream call
path, and give up a tiny bit of performance in a corner case.
Maybe this mailing list isn't the place to have this discussion? This is
an area that I'm keenly interested in, but I don't think we're adding
anything to the context (in)dependence discussion.
Cheers!
--
Brett Johnson <[EMAIL PROTECTED]>
Workstation Systems Lab
Hewlett-Packard Company
"Politicians, like diapers, should be changed regularly,
and for the same reason."