Skip to content
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

WIP: RFC: cache parse results while loading files #5061

Closed
wants to merge 3 commits into from

Conversation

vtjnash
Copy link
Member

@vtjnash vtjnash commented Dec 8, 2013

This is my attempt at partial caching of the results of loading .jl files. It is functional, but since it does not detect file changes yet, it is a little unsafe right now.

On the julia machine, it reduced the load time of Tk from 4.3 seconds to 2.9 seconds. On my Mac, it reduced the time from ~10 s to ~6 s.

TODO items:

  • stop printing "cache file no found" when loading files
  • address compiler warning regarding sprintf declaration
  • store timestamp in the cache file (don't use old cache)
  • get Jeff to merge pull requests
  • improve efficiency of GC roots for cache file operations (teach the GC about a ptrhash, use weakrefs)

@StefanKarpinski
Copy link
Member

Would full pre-compilation be better?

@vtjnash
Copy link
Member Author

vtjnash commented Dec 8, 2013

Would full pre-compilation be better?

I'm not sure how that is relevant.

@vtjnash vtjnash mentioned this pull request Dec 13, 2013
11 tasks
@lindahua
Copy link
Contributor

Great to see the efforts are underway.

@timholy
Copy link
Member

timholy commented Aug 10, 2014

From some other discussion I can't find right now, probably the main bottleneck here is macros: if package A uses macros from package B, and package B updates, then you also want to re-generate the cached versions of package A.

@timholy
Copy link
Member

timholy commented Sep 12, 2014

Ah, here's the link I was missing: #7280 (comment).

@vtjnash
Copy link
Member Author

vtjnash commented Sep 26, 2014

replace by https://github.com/vtjnash/Speed.jl

@vtjnash vtjnash closed this Sep 26, 2014
@timholy
Copy link
Member

timholy commented Sep 28, 2014

Was it premature to close this, or does this not offer any advantages over Speed.jl?

@vtjnash
Copy link
Member Author

vtjnash commented Sep 28, 2014

Speed.jl was faster (primarily because I could emit better caches) and more advanced (again, because I could emit better caches, and also because it is much easier to test preconditions in Julia than C)

@timholy
Copy link
Member

timholy commented Sep 28, 2014

Did you see the issues I opened?

@vtjnash
Copy link
Member Author

vtjnash commented Sep 28, 2014

no, thanks for pointing that out. I forgot I turned off notifications so I would stop getting messages from the JuliaLang/ hosted repos, and needed to turn them on manually for the vtjnash/ hosted repos

@vtjnash vtjnash deleted the jn/cache_load branch August 27, 2015 04:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants