https://github.com/JuliaLang/julia
Revision 78351b5c478b65295dfa143d33ddc41f546baceb authored by Ian Butterworth on 08 March 2024, 15:21:33 UTC, committed by GitHub on 08 March 2024, 15:21:33 UTC
Follow-on from https://github.com/JuliaLang/julia/pull/53403

This extends `Base.Precompilation.precompilepkgs` to take a list of
configurations to precompile each package with, while parallelizing
across all packages and configurations, and uses it to build the stdlib
pkgimages.

It simplifies the stdlib pkgimage build process but is (currently)
dependent on having an accurately resolved Manifest.toml (Project.toml
included to make the manifest easier to make). Any new/removed stdlibs
or changes their dependencies will require updating the Manifest.toml.
It's a bit chicken and egg, but should be manageable with manual editing
of the Manifest.toml.

In terms of speed improvement:
MacOS aarch64 CI runner 6m19s before, 5m19 with this

Note that CI builds will show the basic print with timing of each
package, whereas local build will be the tidier fancy print without
timings.

Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com>
1 parent a998082
History
Tip revision: 78351b5c478b65295dfa143d33ddc41f546baceb authored by Ian Butterworth on 08 March 2024, 15:21:33 UTC
Use Base parallel precompilation to build stdlibs (#53598)
Tip revision: 78351b5
File Mode Size
compiler
docs
ryu
special
strings
.gitignore -rw-r--r-- 167 bytes
Base.jl -rw-r--r-- 22.4 KB
Enums.jl -rw-r--r-- 7.7 KB
Makefile -rw-r--r-- 12.3 KB
abstractarray.jl -rw-r--r-- 116.2 KB
abstractarraymath.jl -rw-r--r-- 12.7 KB
abstractdict.jl -rw-r--r-- 17.6 KB
abstractset.jl -rw-r--r-- 15.4 KB
accumulate.jl -rw-r--r-- 11.9 KB
array.jl -rw-r--r-- 80.6 KB
arraymath.jl -rw-r--r-- 5.8 KB
arrayshow.jl -rw-r--r-- 23.6 KB
asyncevent.jl -rw-r--r-- 10.6 KB
asyncmap.jl -rw-r--r-- 13.0 KB
atomics.jl -rw-r--r-- 12.8 KB
baseext.jl -rw-r--r-- 2.6 KB
binaryplatforms.jl -rw-r--r-- 38.5 KB
bitarray.jl -rw-r--r-- 51.7 KB
bitset.jl -rw-r--r-- 12.5 KB
bool.jl -rw-r--r-- 3.7 KB
boot.jl -rw-r--r-- 35.8 KB
broadcast.jl -rw-r--r-- 60.1 KB
c.jl -rw-r--r-- 11.9 KB
cartesian.jl -rw-r--r-- 12.5 KB
channels.jl -rw-r--r-- 17.9 KB
char.jl -rw-r--r-- 12.2 KB
checked.jl -rw-r--r-- 12.6 KB
client.jl -rw-r--r-- 21.6 KB
cmd.jl -rw-r--r-- 17.9 KB
cmem.jl -rw-r--r-- 1.4 KB
combinatorics.jl -rw-r--r-- 9.3 KB
complex.jl -rw-r--r-- 31.2 KB
condition.jl -rw-r--r-- 7.4 KB
coreio.jl -rw-r--r-- 1.1 KB
cpuid.jl -rw-r--r-- 5.4 KB
ctypes.jl -rw-r--r-- 1.8 KB
deepcopy.jl -rw-r--r-- 5.5 KB
deprecated.jl -rw-r--r-- 14.5 KB
dict.jl -rw-r--r-- 28.0 KB
div.jl -rw-r--r-- 11.5 KB
download.jl -rw-r--r-- 989 bytes
env.jl -rw-r--r-- 9.6 KB
error.jl -rw-r--r-- 10.5 KB
errorshow.jl -rw-r--r-- 41.6 KB
essentials.jl -rw-r--r-- 37.1 KB
experimental.jl -rw-r--r-- 12.4 KB
exports.jl -rw-r--r-- 14.0 KB
expr.jl -rw-r--r-- 44.4 KB
fastmath.jl -rw-r--r-- 14.0 KB
file.jl -rw-r--r-- 43.8 KB
filesystem.jl -rw-r--r-- 10.4 KB
float.jl -rw-r--r-- 37.0 KB
floatfuncs.jl -rw-r--r-- 13.8 KB
gcutils.jl -rw-r--r-- 7.9 KB
generator.jl -rw-r--r-- 4.1 KB
genericmemory.jl -rw-r--r-- 9.0 KB
gmp.jl -rw-r--r-- 37.4 KB
hamt.jl -rw-r--r-- 8.6 KB
hashing.jl -rw-r--r-- 3.5 KB
iddict.jl -rw-r--r-- 5.6 KB
idset.jl -rw-r--r-- 3.3 KB
indices.jl -rw-r--r-- 19.8 KB
initdefs.jl -rw-r--r-- 17.9 KB
int.jl -rw-r--r-- 28.8 KB
intfuncs.jl -rw-r--r-- 33.7 KB
io.jl -rw-r--r-- 46.8 KB
iobuffer.jl -rw-r--r-- 21.1 KB
iostream.jl -rw-r--r-- 18.6 KB
irrationals.jl -rw-r--r-- 9.1 KB
iterators.jl -rw-r--r-- 45.9 KB
libc.jl -rw-r--r-- 17.4 KB
libdl.jl -rw-r--r-- 14.5 KB
libuv.jl -rw-r--r-- 5.2 KB
linked_list.jl -rw-r--r-- 4.2 KB
linking.jl -rw-r--r-- 5.3 KB
loading.jl -rw-r--r-- 146.6 KB
lock.jl -rw-r--r-- 14.7 KB
locks-mt.jl -rw-r--r-- 2.3 KB
logging.jl -rw-r--r-- 22.9 KB
math.jl -rw-r--r-- 45.2 KB
mathconstants.jl -rw-r--r-- 2.4 KB
meta.jl -rw-r--r-- 16.7 KB
methodshow.jl -rw-r--r-- 16.0 KB
missing.jl -rw-r--r-- 13.3 KB
mpfr.jl -rw-r--r-- 46.6 KB
multidimensional.jl -rw-r--r-- 72.2 KB
multimedia.jl -rw-r--r-- 15.6 KB
multinverses.jl -rw-r--r-- 6.3 KB
namedtuple.jl -rw-r--r-- 19.3 KB
ntuple.jl -rw-r--r-- 2.8 KB
number.jl -rw-r--r-- 8.5 KB
opaque_closure.jl -rw-r--r-- 3.3 KB
operators.jl -rw-r--r-- 37.7 KB
optimized_generics.jl -rw-r--r-- 2.0 KB
options.jl -rw-r--r-- 2.6 KB
ordering.jl -rw-r--r-- 5.5 KB
osutils.jl -rw-r--r-- 1.2 KB
pair.jl -rw-r--r-- 1.9 KB
parse.jl -rw-r--r-- 14.8 KB
partr.jl -rw-r--r-- 4.8 KB
path.jl -rw-r--r-- 17.9 KB
pcre.jl -rw-r--r-- 8.9 KB
permuteddimsarray.jl -rw-r--r-- 11.8 KB
pkgid.jl -rw-r--r-- 1.2 KB
pointer.jl -rw-r--r-- 13.6 KB
precompilation.jl -rw-r--r-- 42.6 KB
process.jl -rw-r--r-- 24.2 KB
promotion.jl -rw-r--r-- 19.5 KB
public.jl -rw-r--r-- 1.4 KB
range.jl -rw-r--r-- 59.6 KB
rational.jl -rw-r--r-- 18.9 KB
rawbigints.jl -rw-r--r-- 4.5 KB
reduce.jl -rw-r--r-- 39.3 KB
reducedim.jl -rw-r--r-- 33.1 KB
reflection.jl -rw-r--r-- 92.0 KB
refpointer.jl -rw-r--r-- 7.9 KB
refvalue.jl -rw-r--r-- 1.7 KB
regex.jl -rw-r--r-- 29.0 KB
reinterpretarray.jl -rw-r--r-- 35.6 KB
reshapedarray.jl -rw-r--r-- 14.8 KB
rounding.jl -rw-r--r-- 13.6 KB
scopedvalues.jl -rw-r--r-- 4.7 KB
secretbuffer.jl -rw-r--r-- 6.7 KB
set.jl -rw-r--r-- 25.8 KB
shell.jl -rw-r--r-- 17.4 KB
show.jl -rw-r--r-- 116.3 KB
simdloop.jl -rw-r--r-- 5.4 KB
slicearray.jl -rw-r--r-- 7.2 KB
some.jl -rw-r--r-- 3.9 KB
sort.jl -rw-r--r-- 81.8 KB
stacktraces.jl -rw-r--r-- 10.4 KB
stat.jl -rw-r--r-- 15.6 KB
stream.jl -rw-r--r-- 48.0 KB
subarray.jl -rw-r--r-- 23.7 KB
summarysize.jl -rw-r--r-- 6.1 KB
sysimg.jl -rw-r--r-- 5.9 KB
sysinfo.jl -rw-r--r-- 23.1 KB
task.jl -rw-r--r-- 29.2 KB
terminfo.jl -rw-r--r-- 15.0 KB
terminfo_data.jl -rw-r--r-- 57.6 KB
threadcall.jl -rw-r--r-- 4.1 KB
threadingconstructs.jl -rw-r--r-- 16.6 KB
threads.jl -rw-r--r-- 275 bytes
threads_overloads.jl -rw-r--r-- 2.6 KB
timing.jl -rw-r--r-- 18.5 KB
toml_parser.jl -rw-r--r-- 37.5 KB
traits.jl -rw-r--r-- 2.6 KB
tuple.jl -rw-r--r-- 20.5 KB
twiceprecision.jl -rw-r--r-- 29.3 KB
util.jl -rw-r--r-- 28.5 KB
uuid.jl -rw-r--r-- 3.2 KB
version.jl -rw-r--r-- 9.4 KB
version_git.sh -rw-r--r-- 3.8 KB
views.jl -rw-r--r-- 8.7 KB
weakkeydict.jl -rw-r--r-- 5.9 KB

back to top