-
Notifications
You must be signed in to change notification settings - Fork 49
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
SnoopPrecompiling makes absolutely no difference in TTFP #307
Comments
Does Also, SnoopPrecompile is not a panacea, see this post https://sciml.ai/news/2022/09/21/compile_time/ In particular, even after precompilation, Julia might not be capable of caching everything (Tim Holy is actually actively adding more compilation caching capabilities to Julia). Take Makie for example. Even with precompilation TTFX takes more than 20s. However, precompilation + a custom sysimage leads to TTFX that is less than a second. Basically, SnoopPrecompile + a custom sysimage probably would make things fast. SnoopPrecompile on its own helpful, but it is not sufficient until more compilation caching capabilities are added to Julia (which is in progress). |
OK, part of this answer is mostly for Tim.
Thanks, I know that blog and that's where I learned about the ambiguities, which I reduced from 142 to 9 (last 9 make no sense to me). I also have almost no invalidations. What I still have is 16 inference issues, which I'm sure are the source of latency but that's exactly where I thought
And why I say
and if I use the lower level call directly (and here the above inferences are no longer an issue) the TTFP shrinks to 0.8 sec
|
Given discussions on discourse, I believe that this is demonstrably fixed now (remedy: fix invalidations). |
GMT.jl here (again :)) and on Windows
Without the Snoop
Now, uncomment the lines https://github.com/GenericMappingTools/GMT.jl/blob/master/src/GMT.jl#L299 (plus the one in Project.toml), and the precompile time indeed increases but run time is the same
Note, I use the old
tic(), toc()
because@time
clearly underestimates the true time by 2 or 3 times.The text was updated successfully, but these errors were encountered: