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

Reply via email to