Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert Requires based providers to Pkg extensions #516

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

halleysfifthinc
Copy link
Contributor

@halleysfifthinc halleysfifthinc commented Nov 14, 2024

Using extensions results in slightly quicker load times for all extension packages, and it opens the door for a more convenient/seamless switch (or even co-existing) WebSockets => HTTP.WebSockets conversion.

  • This PR
    julia> @time using WebIO
      0.143602 seconds (145.99 k allocations: 10.212 MiB)
    
    julia> @time using WebSockets
      0.571286 seconds (821.72 k allocations: 43.526 MiB, 4.89% gc time, 80.17% compilation time)
    
    julia> @time using Mux
      0.018723 seconds (31.40 k allocations: 1.960 MiB)
    
    julia> @time using IJulia
      0.511614 seconds (3.12 M allocations: 160.475 MiB, 13.07% gc time, 86.51% compilation time: 100% of which was recompilation)
  • On master (with Julia 1.11.1)
    julia> @time using WebIO
      0.148361 seconds (150.48 k allocations: 10.483 MiB, 2.17% compilation time)
    
    julia> @time using WebSockets
      1.024141 seconds (1.42 M allocations: 74.619 MiB, 5.69% gc time, 83.45% compilation time)
    
    julia> @time using Mux
      0.085031 seconds (95.12 k allocations: 5.176 MiB, 70.21% compilation time)
    
    julia> @time using IJulia
      0.609832 seconds (3.60 M allocations: 184.731 MiB, 11.50% gc time, 90.70% compilation time)

(Commits were kept independently functional to enable squash merge and help future bisecting if needed.)

Supersedes #478; closes #476.

# TODO: change this to a permanent URL because this CSAIL account
# will eventually expire.
@test scope_import(w, "//people.csail.mit.edu/rdeits/webio_tests/trivial_import.js", use_iframe) == "ok"
@test scope_import(w, "//juliagizmos.github.io/WebIO.jl/dev/assets/trivial_import.js", use_iframe) == "ok"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These Blink tests will fail until a deployed version of the docs contains this .js file. If it's easier/preferred, I could split this and the related docs/CI updates out of this PR so that it could be merged first.

- Mux tests were failing because the rdeits CSAIL account is expired
- Added the js file to the assets/ folder in the docs build to provide a
  stable URI to test against
  - (Explicitly add the js file so its removed/handled when switching
    branches but should otherwise be ignored.)
- Bump versions for actions
- Add `julia-actions/cache`
- Update julia version's to new target minimum Julia
@halleysfifthinc
Copy link
Contributor Author

Bump. Could I get a review @pfitzseb or @shashi ? 🙏

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.

Rethink @requires dependencies
1 participant