Motivated by the SnoopPrecompile announcement, I checked out my package’s TTFX on 1.8rc3. Using a sample script like:
# test_startup.jl
@time using CMBLensing
@time LenseFlow(FlatMap(randn(10,10))/1e6) * FlatMap(randn(10,10))
I get about 2X slower on 1.8
$ julia +1.7.3 test_startup.jl
3.949029 seconds (13.52 M allocations: 844.374 MiB, 7.40% gc time, 47.93% compilation time)
5.599200 seconds (20.76 M allocations: 1.123 GiB, 4.16% gc time, 98.32% compilation time)
$ julia +1.8.0-rc3 test_startup.jl
4.963559 seconds (13.48 M allocations: 855.347 MiB, 6.77% gc time, 53.88% compilation time: 38% of which was recompilation)
11.640764 seconds (44.94 M allocations: 2.787 GiB, 4.42% gc time, 99.50% compilation time)
I’m wondering what I could do to distill this into some more MWE that could be useful for devs? Or perhaps this level of possible regression is a known issue that’s already being worked on? (or even fixed on nightly, although the package errors there so I can’t directly check)