Yes I’m having the same problem. Before the update I was using 1.10.4 and my program benchmarked at 9.794 ms (Memory estimate: 14.39 MiB, allocs estimate: 52697), but in 1.11 it became 10.669 ms Memory estimate: 14.09 MiB, allocs estimate: 82728 estimate: 82728, I don’t know where the extra 30,000 allocations came from. pprof’s results show an increase in allocations for all functions. Finally a partial screenshot of PProf.Allocs.pprof().
Sorry, but this is a completely different problem, this is no startup overhead. There are a few, known, open performance regressions in 1.11: GitHub · Where software is built
The OP is saying that the blog post claims a speed up for the given script, which he is not able to reproduce. I am also seeing a regression for the same.
Are you saying that to obtain the results given in the blog post we need to create a custom system image?
Don’t complain, just continue to use 1.10. Julia 1.11 has a lot of new features, it will take some time until the dust settles and everything works better than in 1.10.
Reporting broad regressions isn’t especially useful, but if you can narrow down the regression to something specific and reproducible, absolutely report it as a Julia issue!
The “complaints” (I don’t think that’s a fair characterization of the OP actually) are useful to me as an observer interested in how soon I should consider updating. It also sheds light on how stable I should expect new releases to be - like @CameronBieganek, I would have expected it to just be a copy of a previously vetted RC.
Reading discussions here is the only way I can stay abreast of whether we’ve hit that point, I don’t think we should discourage those discussions from taking place.
I feel like julia startup time is just not very stable:
akako@frame16 ~> hyperfine --warmup 1 'julia +1.10.5 --startup-file=no -e "1+1"'
Benchmark 1: julia +1.10.5 --startup-file=no -e "1+1"
Time (mean ± σ): 141.9 ms ± 21.5 ms [User: 77.6 ms, System: 98.4 ms]
Range (min … max): 110.9 ms … 165.7 ms 19 runs
akako@frame16 ~> hyperfine --warmup 1 'julia +1.11.0 --startup-file=no -e "1+1"'
Benchmark 1: julia +1.11.0 --startup-file=no -e "1+1"
Time (mean ± σ): 191.6 ms ± 91.6 ms [User: 386.5 ms, System: 82.8 ms]
Range (min … max): 86.4 ms … 432.4 ms 15 runs
akako@frame16 ~> hyperfine --warmup 1 'julia +1.11.0 --startup-file=no -e "1+1"'
Benchmark 1: julia +1.11.0 --startup-file=no -e "1+1"
Time (mean ± σ): 152.9 ms ± 58.9 ms [User: 329.9 ms, System: 58.1 ms]
Range (min … max): 87.8 ms … 249.5 ms 24 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
julia> versioninfo()
Julia Version 1.11.0
Commit 501a4f25c2b (2024-10-07 11:40 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 16 × AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
WORD_SIZE: 64
LLVM: libLLVM-16.0.6 (ORCJIT, znver4)
Threads: 16 default, 0 interactive, 8 GC (on 16 virtual cores)
Environment:
JULIA_NUM_THREADS = auto
akako@frame16 ~> cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference
performance
akako@frame16 ~> hyperfine --warmup 1 'julia +1.10.5 --startup-file=no -e "1+1"'
Benchmark 1: julia +1.10.5 --startup-file=no -e "1+1"
Time (mean ± σ): 112.3 ms ± 2.3 ms [User: 58.5 ms, System: 70.7 ms]
Range (min … max): 107.2 ms … 116.7 ms 26 runs
akako@frame16 ~> hyperfine --warmup 1 'julia +1.11.0 --startup-file=no -e "1+1"'
Benchmark 1: julia +1.11.0 --startup-file=no -e "1+1"
Time (mean ± σ): 110.3 ms ± 49.3 ms [User: 204.8 ms, System: 44.9 ms]
Range (min … max): 80.0 ms … 216.3 ms 34 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.