-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
"Refreshing" functions by re-evaling their definition leads to better performance #28683
Comments
I've noticed this particularly with generated functions. In my case, it seemed like type inference was happening but no inlining/optimisation, for some reason. |
Could this be due to where things are placed in the method table and how fast the dynamic dispatch calls find them? |
Shot in the dark: if there are any type instabilities it might be that inference is getting a "luckier" first compilation sequence after redefinition and ending up with a better inferred result than it "should". |
I don't notice any difference in the inferred code so it seems this is something with the runtime... |
Last time I hit this issue (right after 265 fix) it was due to the fix
being a behavior fix and not a performance fix. There was no need to
recompile if a dynamic dispatch can be Replaced with a static one after a
new method is added
…On Fri, Aug 24, 2018, 11:26 Matt Bauman ***@***.***> wrote:
Shot in the dark: if there are any type instabilities it might be that
inference is getting a "luckier" first compilation sequence after
redefinition and ending up with a better inferred result than it "should".
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#28683 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAreKA5u19AsAJvKqYpum2_GXOhFSBd7ks5uUBsjgaJpZM4V_cF_>
.
|
This specific case seems fixed now...
|
This is consistent. The benchmarks was run with a source build of julia.
The text was updated successfully, but these errors were encountered: