Closed ranocha closed 1 year ago
Patch coverage: 100.00
% and project coverage change: +1.63
:tada:
Comparison is base (
07e0b1a
) 15.19% compared to head (d765c12
) 16.82%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
Thanks!
Commenting out the line
ci = CpuId.cacheinclusive()
removes the remaining compilation time.
Any idea why this isn't getting cached?
It'd also be nice if we could instead run this under the interpreter. I wonder how slow that would be. For quick single-runs like this, seems like it may be a waste of disk space (for example) to compile it.
Thanks!
Commenting out the line
ci = CpuId.cacheinclusive()
removes the remaining compilation time.Any idea why this isn't getting cached?
Not really. But the remaining compilation time is gone with https://github.com/m-j-w/CpuId.jl/pull/57
It'd also be nice if we could instead run this under the interpreter. I wonder how slow that would be. For quick single-runs like this, seems like it may be a waste of disk space (for example) to compile it.
Sounds reasonable. My motivation to cut the load times as much as possible are HPC applications with Trixi.jl. Even if something like 150ms does not sound much in serial, it quickly adds up to the total CPU time when running on a large number of nodes in parallel....
For code like this (no loops), the interpreter is probably going to be much faster than compile + runtime.
@eval
ing isn't going to be compiling well.
This is obviously a great improvement, so I wouldn't bother looking into it more except perhap's for curiosity's sake.
I noticed that this package has a non-negligible
using
time when looking at@time_imports using Trixi
. I added some explicit precompile statements for Julia v1.9 and newer to reduce this.Current
main
branch:This PR:
This is on an old notebook with Intel X86 CPU. The remaining compilation time seems to come from CpuId.jl, which is used in https://github.com/JuliaSIMD/CPUSummary.jl/blob/93aef785f94fe8d9a3dde70f7d09e0fcc2215232/src/x86.jl#L49-L56 Commenting out the line
ci = CpuId.cacheinclusive()
removes the remaining compilation time.