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

set max_methods = 1 for REPL methods #48330

Merged
merged 2 commits into from
Jan 23, 2023
Merged

Conversation

KristofferC
Copy link
Sponsor Member

The REPL is a quite frequent source of invalidations since it is somewhat badly typed and a lot of it is precompiled into the sysimage. It is also fairly performance insensitive so all this abstract inference is unlikely to be useful. Therefore, lower max_methods for the REPL module to cause fewer invalidations.

@KristofferC KristofferC added REPL Julia's REPL (Read Eval Print Loop) compiler:latency Compiler latency labels Jan 18, 2023
@vtjnash
Copy link
Sponsor Member

vtjnash commented Jan 19, 2023

CI failed, but only on Windows?

Error in testset REPL:
Error During Test at C:\buildkite-agent\builds\win2k22-amdci6-1\julialang\julia-master\julia-819e84fcac\share\julia\test\testdefs.jl:21
  Got exception outside of a @test
  LoadError: return type REPL.LineEdit.InputAreaState does not match inferred return type Any
  Stacktrace:
    [1] error(s::String)
      @ Base .\error.jl:35
    [2] (::Main.Test89Main_REPL.LineEditTest.var"#48#49")()
      @ Main.Test89Main_REPL.LineEditTest C:\buildkite-agent\builds\win2k22-amdci6-1\julialang\julia-master\julia-819e84fcac\share\julia\stdlib\v1.10\REPL\test\lineedit.jl:484
    [3] withenv(f::Main.Test89Main_REPL.LineEditTest.var"#48#49", keyvals::Pair{String, String})
      @ Base .\env.jl:235
    [4] top-level scope
      @ C:\buildkite-agent\builds\win2k22-amdci6-1\julialang\julia-master\julia-819e84fcac\share\julia\stdlib\v1.10\REPL\test\lineedit.jl:477
    [5] include(mod::Module, _path::String)
      @ Base .\Base.jl:456
    [6] include(x::String)
      @ Main.Test89Main_REPL.LineEditTest C:\buildkite-agent\builds\win2k22-amdci6-1\julialang\julia-master\julia-819e84fcac\share\julia\stdlib\v1.10\REPL\test\runtests.jl:12
    [7] top-level scope
      @ C:\buildkite-agent\builds\win2k22-amdci6-1\julialang\julia-master\julia-819e84fcac\share\julia\stdlib\v1.10\REPL\test\runtests.jl:13

@KristofferC
Copy link
Sponsor Member Author

Windows have more methods defined for something, or?

@KristofferC
Copy link
Sponsor Member Author

KristofferC commented Jan 20, 2023

The last commit should have addressed the Windows failure (ispty failed to infer which is only defined on Windows).

@KristofferC KristofferC added the backport 1.9 Change should be backported to release-1.9 label Jan 23, 2023
@KristofferC KristofferC merged commit f8493c7 into master Jan 23, 2023
@KristofferC KristofferC deleted the kc/max_methods_1_repl branch January 23, 2023 09:53
KristofferC added a commit that referenced this pull request Jan 23, 2023
* set max_methods = 1 for REPL methods

(cherry picked from commit f8493c7)
@KristofferC KristofferC mentioned this pull request Feb 1, 2023
35 tasks
@KristofferC KristofferC removed the backport 1.9 Change should be backported to release-1.9 label Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:latency Compiler latency REPL Julia's REPL (Read Eval Print Loop)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants