-
Notifications
You must be signed in to change notification settings - Fork 2
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
Performance regression from Julia 1.6.3 and 1.8.0-DEV #18
Comments
Interesting, I'll try running that on my pc on these two versions later |
Profiler indicates the problem lies still in rotate_*. Tested versions:
Works fine.
Problem occurs.
Problem occurs, too. I have to use 1.7.0-rc1 to profile, because Juno profiling seems broken on nightly. |
Here is an image from 1.7.0 profiling: I'm currently using dispatch like
to avoid that kind of problem, but I don't know if this is the appropriate way to do it. |
yeah, reproducible on my end
|
Hm, I'm not sure. This could be a breaking change between 1.6.3 and 1.7.0. OTOH probably pretty difficult to isolate? |
Maybe, we'll see. If that's julia related I'll just open an issue in julia |
Just checked the method of #18 (comment). Works for AVLTrees, too. Will try my first pull request(?). |
i thought of dispatching on that explicitly, adding these left!/other related methods will be a big change I would try something like this first instead of the thing you're proposing, should probably help in this instability:
to =>
and the right one same idea That will create two signatures, one where that last arg is nothing and other one where it's a Node and should be stable like that Let me know if you'll be doing this as a PR, if not I can tackle it later this week |
There might be an interesting generalization of the accessor trick. Something along the lines of
This works for me with AVLTrees 0.32 on Julia 1.7.0-rc1. Only drawback is that conversions for the bf-arithmetic have to be explicit (reactivating the commented line above, which is used by Benchmark results:
|
Patching 0.34 was even easier (no conversions for bf-arithmetic neccessary). Benchmark results:
|
Thanks! I'll try to review the PR either today or sometime during the weekend. |
Related julia issue JuliaLang/julia#42754 |
My benchmarks show the following numbers: on Julia 1.6.3
and on Julia 1.8.0-DEV
The text was updated successfully, but these errors were encountered: