Skip to content

Conversation

@JeffBezanson
Copy link
Member

This avoids recompiling it, which speeds up package precompilation and loading. We already do this for the type inference code.

With this, the time to precompile CSV the first time goes from 240 sec to 90 sec for me.

This avoids recompiling it, which speeds up package precompilation
and loading.
@JeffBezanson JeffBezanson added the latency Latency label Jul 1, 2018
@tknopp
Copy link
Contributor

tknopp commented Jul 2, 2018

It would be interesting if these optimizations are things that regressed from 0.5 -> 0.6 -> 0.7 or if that cannot be really compared since the compiler has evolved (e.g. due to the new type system).

For reference: Julia 0.6.3 (on a macbook) requires 33 seconds to precompile CSV here.

@JeffBezanson
Copy link
Member Author

This has to do with the code invalidation mechanism added to fix #265, so it wouldn't apply to 0.5.

@JeffBezanson JeffBezanson merged commit 027e344 into master Jul 2, 2018
@JeffBezanson JeffBezanson deleted the jb/requireworld branch July 2, 2018 18:42
@StefanKarpinski
Copy link
Member

Does this essentially make require itself an exception to the 265 fix?

@JeffBezanson
Copy link
Member Author

No; the fix still applies, but by preventing require from seeing new methods, rather than by recompiling it for those new methods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

latency Latency

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants