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

Windows binary build: mtime on source-files is newer than base.cache #28898

Open
timholy opened this issue Aug 26, 2018 · 1 comment
Open

Windows binary build: mtime on source-files is newer than base.cache #28898

timholy opened this issue Aug 26, 2018 · 1 comment
Labels
building Build system, or building Julia or its dependencies system:windows Affects only Windows

Comments

@timholy
Copy link
Member

timholy commented Aug 26, 2018

Formerly Revise.track(Base) was used only by people hacking on Julia. Now with Rebugger, it's used behind the scenes by any user who steps into a method defined in Base. So the performance of Revise.track(Base) matters much more now than it used to. For some of us it's pretty quick (a fraction of a second), but it turns out to be glacially slow for others (>10s). In timholy/Revise.jl#168 we tracked it down to a difference of (1) people who build from source vs people who download binaries AND (2) Linux vs Windows.

While details are provided in that linked issue, a brief summary is this: Revise detects whether a file has been edited based on an mtime criterion, comparing against the value written into the base.cache file (see #24120). On Linux binaries, the mtime difference seems to be 0; however, on Windows it seems that many of the source files are 4-10 seconds newer than the time stamp in base.cache.

Is something that's easily fixable? Could we just change the order of a couple of steps in the build so that the source files get copied before the base.cache file is generated?

@nalimilan nalimilan added the building Build system, or building Julia or its dependencies label Sep 3, 2018
@nalimilan
Copy link
Member

AFAICT we can't really install files before building the cache as the former happens during make install, which depends on make release. But maybe we just need to adjust the copy command to preserve timestamps (equivalent to cp -a on Unix)?

@nalimilan nalimilan added the system:windows Affects only Windows label Sep 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building Build system, or building Julia or its dependencies system:windows Affects only Windows
Projects
None yet
Development

No branches or pull requests

2 participants