Thanks, I tried it and the sysimage builds in under 5 min. with Random in it (then I think has full compatibility, but it may not be worth it to have it in even if you want to use rand).
The sysimage is of course larger, but not slightly, it’s 1.6 MB larger or by 2%. And still I ran Julia this way and PackageCompiler, this time around (see under --help-hidden, though this was likely ineffective, maybe PackageCompiler needs to do this and forks a julia process?):
$ julia --strip-metadata --strip-ir
Now:
$ time julia -J BenchmarkSysimage.so -E "rand()"
0.11315268297346925
real 0m0,455s
It’s faster than without Random in the sysimage, but still slower than, for some reason I do not understand:
$ time julia -E "rand()"
0.30915648801695506
real 0m0,252s
For those who would like to do the same:
[deps]
Example = "7876af07-990d-54b4-ab0e-23690620f79a"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" # This might be wrong UUID, I needed one, and for now just "randomly" googled for one.
Off-topic:
Strangely this is reliably 21% slower (default sysimage):
$ time julia -e "println(rand())"
than:
$ time julia -E "rand()"
while reverses with the non-default sysimage (both there about 74% slower):
$ time julia -J BenchmarkSysimage.so -E "rand()"
0.6843914768479171
real 0m0,446s
$ time julia -J BenchmarkSysimage.so -e "println(rand())"
0.4807361366759346
real 0m0,467s