Skip to content

Conversation

jaakkor2
Copy link

using SnoopCompileCore
invs = @snoop_invalidations using ProgressLogging
using SnoopCompile
length(uinvalidated(invs))

improves

  • 1.10.10 (lts) 312->136
  • 1.11.6 (release) 112->107
  • 1.12.0-rc2 276->147

Ref: JuliaLang/julia#59504

@jaakkor2
Copy link
Author

This PR improves TTFP of GLMakie on Julia 1.12.0-rc2, when ProgressLogging has been loaded

Julia v1.10.10 (LTS)

For reference

> julia +lts --startup-file=no --banner=no
julia> using ProgressLogging; @time using GLMakie; @time display(plot(rand(10)))
  3.676409 seconds (4.05 M allocations: 267.888 MiB, 5.89% gc time, 2.88% compilation time: 30% of which was recompilation)
  0.507509 seconds (128.96 k allocations: 13.300 MiB, 41.98% compilation time)

Julia v1.12.0-rc2

Without ProgressLogging

> julia +rc --startup-file=no --banner=no
julia> @time using GLMakie; @time display(plot(rand(10)))
  3.207026 seconds (5.28 M allocations: 302.216 MiB, 8.76% gc time, 16.19% compilation time: 91% of which was recompilation)
  0.530239 seconds (270.22 k allocations: 17.278 MiB, 42.26% compilation time: <1% of which was recompilation)
GLMakie.Screen(...)

With ProgressLogging v0.1.5

> julia +rc --startup-file=no --banner=no
julia> using ProgressLogging; @time using GLMakie; @time display(plot(rand(10)))
  3.180291 seconds (5.25 M allocations: 298.694 MiB, 9.25% gc time, 15.66% compilation time: 90% of which was recompilation)
  6.690593 seconds (30.71 M allocations: 1.538 GiB, 7.30% gc time, 95.38% compilation time: 83% of which was recompilation)

This PR

> julia +rc --startup-file=no --banner=no
julia> using ProgressLogging; @time using GLMakie; @time display(plot(rand(10)))
  3.141481 seconds (5.27 M allocations: 301.756 MiB, 8.74% gc time, 15.76% compilation time: 90% of which was recompilation)
  1.750266 seconds (4.12 M allocations: 216.110 MiB, 2.43% gc time, 82.57% compilation time: 67% of which was recompilation)

In summary, with this PR, TTFP goes down from 6.7 s to 1.8 s, clear improvement, but not yet the level of 0.5 s with LTS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant