-
-
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
Performance issue with Winston #27083
Comments
Why do you think this is a julia issue (and not local in Winston or imported modules)? And v0.6.0? btw:
|
Hm ok, I am using |
And Winston has basically not changed from 0.3 - 0.6 for which reason it certainly is a good measure for seeing language regressions. |
Here are numbers from julia 0.5:
This really is a strong regression. And as I said, the code in Winston did basically not change. My feeling is that inference got a lot slower during the transition from 0.5 to 0.6. Might that be the case @JeffBezanson @Keno @vtjnash ? The code in Winston is not very type stable but the (Compiler) cost should not be larger than for inferable code?! |
Maybe use the profiler to identify spots where allocations increased most? |
I have done so but you see just deep inference calls. The profiler docs are also not very helpful there because they suggest applying the the profiler only to the second call (where everything is all compiled). I would have tried digging deeper to it but compiler performance / characteristics are something where not a lot of information can be found. |
for reference, I ported Winston to 0.7 and now get
|
for reference on Julia 1.5rc1.0 we now have:
and
when everything is precompiled. The Cairo window actually appears about 5 seconds but that might be because the final drawing seems to be done in an asynchron way so that it is not included in the TTFP time reported above. Anyway, this is a nice improvement! |
@tknopp do you still see this as a specific performance issue? (other than the Julia inherent TTFP...) julia> @time using Winston
1.082901 seconds (2.39 M allocations: 150.433 MiB, 1.90% gc time, 18.34% compilation time)
julia> @time plot(1:10)
1.559175 seconds (2.25 M allocations: 128.291 MiB, 2.50% gc time, 99.71% compilation time)
julia> versioninfo()
Julia Version 1.7.1
Commit ac5cc99908 (2021-12-22 19:35 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-12.0.1 (ORCJIT, tigerlake) |
Those numbers don't make it seem like there is something especially wrong with this example. I think this can be closed. |
Yes, just wanted to confirm that I see similar numbers. It was a specific issue during the transitioning from 0.4-0.6 but since then quite some things have changed. |
Hi,
I am facing a major performance issue that I was now able to track down to a very basic example
I am not sure if posting here is correct but I am pretty sure that under 0.5 Winston was not that slow to compile the plot function. Requiring more that 2GB of RAM seems like there is something going wrong their. Almost all work seems to be done within inference. If the performance issue is not a Julia regression I would appreciate any help what could be changed in Winston to make this fast again. (@vtjnash: this was where I thought that Gtk is the root issue but it seems within Winston)
The text was updated successfully, but these errors were encountered: