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

build: include sysimage output in timing report #45132

Merged

Conversation

IanButterworth
Copy link
Sponsor Member

@IanButterworth IanButterworth commented Apr 30, 2022

Currently the time spent outputting the sysimage files isn't included in the "Total"s of each sysimage build step, yet it takes longer than the time reported.

This PR includes that time in the report.

Update: It seems from some offline discussion like the approach from #42303 might actually be ok, so I brought that here. (couldn't reopen that PR)

The approach is to introduce a postoutput hook that runs after any output is generated.

This PR also moves the "Total" to the bottom of the report as it was noted that that might make more sense.

With this PR (updated):

Sysimage built. Summary:
Base ────────  27.306616 seconds 40.1941%
Stdlibs ─────  40.628288 seconds 59.803%
Total ───────  67.936891 seconds
    JULIA usr/lib/julia/sys-o.a
Generating REPL precompile statements... 40/40
Executing precompile statements... 1894/1926
Precompilation complete. Summary:
Generation ── 101.490691 seconds 74.2266%
Execution ───  35.240176 seconds 25.7734%
Total ─────── 136.730867 seconds
Outputting sysimage file...
Output ────── 149.910727 seconds
    LINK usr/lib/julia/sys.dylib

@IanButterworth IanButterworth added the domain:building Build system, or building Julia or its dependencies label Apr 30, 2022
@IanButterworth IanButterworth changed the title build: add total build step time including output build: include sysimage output in timing report May 13, 2022
@KristofferC
Copy link
Sponsor Member

It seems a bit strange to include "output" in the precompilation section. Even if we ran no explicit precompilation there would still be an output stage so I don't really see those as coupled.

@IanButterworth
Copy link
Sponsor Member Author

Yeah, makes sense. Updated to:

Sysimage built. Summary:
Base ────────  27.306616 seconds 40.1941%
Stdlibs ─────  40.628288 seconds 59.803%
Total ───────  67.936891 seconds
    JULIA usr/lib/julia/sys-o.a
Generating REPL precompile statements... 40/40
Executing precompile statements... 1894/1926
Precompilation complete. Summary:
Generation ── 101.490691 seconds 74.2266%
Execution ───  35.240176 seconds 25.7734%
Total ─────── 136.730867 seconds
Outputting sysimage file...
Output ────── 149.910727 seconds
    LINK usr/lib/julia/sys.dylib

@KristofferC KristofferC merged commit eb4c757 into JuliaLang:master May 17, 2022
@IanButterworth IanButterworth deleted the ib/add_build_output_timing branch June 8, 2022 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:building Build system, or building Julia or its dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants