-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interface Specializers #1127
Interface Specializers #1127
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I'd like to see more documentation comments and type signature comments above all functions everywhere. |
37bfb48
to
9db5e66
Compare
rebased on master. |
✅ Deploy Preview for elastic-ritchie-8f47f9 ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Added some more comments; we need to write docs, the code is mostly self explanatory with a good mop page in the hyperspec. |
On top of ##1126
And so it begins... the compiler generates specializers for all bound methods that could benefit from it, and interface prototype creation plugs to it, with wondrous performance results for certain programs.
Here is an example:
With gxc master:
With the specializers:
20x, not bad huh?
Basically all the dynamic dispatch call cost of the MOP for self references (slots or methods) has disappeared.