Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

tag new release? #123

Closed
stevengj opened this issue Sep 16, 2015 · 3 comments · Fixed by #126
Closed

tag new release? #123

stevengj opened this issue Sep 16, 2015 · 3 comments · Fixed by #126

Comments

@stevengj
Copy link
Member

The main difference from the last tagged version is just the __precompile__ directive. It doesn't make a huge difference in the JSON load time at the moment (0.38s vs. 0.58s on my machine), but I'd like to turn on precompilation for IJulia soon (once ZMQ is fixed), and it is good practice to make sure all of the imported modules have __precompile__ first.

@IainNZ
Copy link
Contributor

IainNZ commented Sep 16, 2015

Something seems screwy on PkgEval with DataStructures in the tests, I wonder if something broken with the dynamic loading of DataStructures with some of the 0.4 changes?

@IainNZ
Copy link
Contributor

IainNZ commented Sep 16, 2015

Can't reproduce locally. Giving Travis a shot, on 0.3, 0.4-rc1, and nightly 0.5, just to see.

@tkelman
Copy link
Contributor

tkelman commented Sep 24, 2015

The conditional inclusion of DataStructures doesn't work at all with precompilation. If JSON.jl gets precompiled when DataStructures is present, but then re-loaded when DataStructures is not present, we get ERROR: LoadError: ArgumentError: DataStructures not found in path. Not good. Either DataStructures should be a hard dependency, or precompilation should be off.

edit: reproduction steps:

  | | |_| | | | (_| |  |  Version 0.5.0-dev+318 (2015-09-22 15:28 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit 3b189b9* (1 day old master)
|__/                   |  x86_64-unknown-linux-gnu

julia> Pkg.add("JSON"), Pkg.add("DataStructures"), Pkg.status()
INFO: Nothing to be done
INFO: Installing DataStructures v0.3.13
INFO: Installing Docile v0.5.19
INFO: Package database updated
2 required packages:
 - DataStructures                0.3.13
 - JSON                          0.4.6
2 additional packages:
 - Compat                        0.7.3
 - Docile                        0.5.19
(nothing,nothing,nothing)

julia> empty!(LOAD_PATH)
0-element Array{ByteString,1}

julia> Base.compilecache(:JSON);
INFO: Recompiling stale cache file /home/tkelman/.julia/lib/v0.5/DataStructures.ji for module DataStructures.

julia> Pkg.rm("DataStructures")
INFO: Removing DataStructures v0.3.13
INFO: Removing Docile v0.5.19
INFO: Package database updated

julia> import JSON
ERROR: module DataStructures not found in current path; removed orphaned cache file /home/tkelman/.julia/lib/v0.5/DataStructures.ji
 in recompile_stale at ./loading.jl:455
 in _require_from_serialized at ./loading.jl:83
 in stale_cachefile at ./loading.jl:439
 in recompile_stale at ./loading.jl:457
 in _require_from_serialized at ./loading.jl:83

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants