Charles Oliver Nutter wrote:
Charles Oliver Nutter wrote:
- use the parent's dispatcher layout in the child dispatcher, so each
is a sum of its parents
- add in non-fast methods to the STI process, but wrap them with the
appropriate framing logic; this would effectively eliminate hash-based
dispatch for all core class methods
- other ideas I haven't thought of yet
When you're on a roll, you don't want to stop. I implemented the first
bullet above...in a sense.
Basically, the attached patch is a revision to the previous one. It's
less invasive in the method-binding process (basically, no changes are
required at all) and creates dispatchers based on all methods in the
child and its parents, in the same precedence as they'd dispatch.
Basically, this new version iterates over all methods in a class,
generating a dispatcher based on the result.
I went ahead and committed this version, since it's passing all tests,
apps seem to work fine, and it expands STI to a number of additional
classes.
I'll continue exploring ways to speed dispatching and reducing per-call
overhead.
- Charlie
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email