-
Notifications
You must be signed in to change notification settings - Fork 7
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
Lower optimizations takes two (five) seconds of loading #32
Comments
Yes, I'm sure that could help a lot! PRs welcome. |
It's more non-trivial than I thought, you need the opt I did (and/or some other with e.g. SnoopCompile.jl) in some (one or more) of your dependencies (and maybe not wanted there?), only at this package wasn't effective so I close the PR. What you would really want is something like (not yet possible, in the code):
|
The biggest offender is (would you ever, or usually, use the capability for Vega? or in TextParse usually?): JuliaMath/DoubleFloats.jl#109 (comment) I thought about making an issue about https://github.com/queryverse/TextParse.jl your slowest dependency, but its dependency (the above) was to blame. It's a deep rabbit hole. Since it's you package, or under your umbrella, you may want to look into it (should [I/someone] file an issue there, since 90% of its slow startup if from its dependency): with I think using Requires.jl? I've never used it, but I think it's for such. |
Ah, super interesting! DoubleFloat.jl is quite key for the float parsing in TextParse.jl. And float parsing in general seems so central that I don't really see how we could remove that... So that probably leaves us with fixing the invalidations in DoubleFloats.jl, right? That sounds non-trivial... |
Ok, I think I found out how, and I showed how in the (now) latest comment: JuliaMath/DoubleFloats.jl#109 (comment) it just needs to be added/tested. |
FYI: Timing is getting worse (for me), and former is with
I recently added some package, and it downgraded some others. It might be the reason. I'll look a bit more into it, jus shoing you what users can get. |
FYI on Julia 1.6 master (the former should be doable with an updated PR with new features in 1.6)
It's a bit ironic compared to the code (with same options, the last default):
So, Queryverse 3.4 sec. to 12.4 on defaults. |
Same opt. trick as does to Plots.jl could help here (and I guess VegaLite, and more). [With this package in "extras" does it mean it's automatically loaded by Queryverse?]
And, the "second using problem" is a hint about invalidations, that I believe SnoopCompile could fix, helping further:
The text was updated successfully, but these errors were encountered: