Skip to content

Conversation

@KristofferC
Copy link
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) latency Latency labels Jan 18, 2023
@vtjnash
Copy link
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
Member Author

Windows have more methods defined for something, or?

@KristofferC
Copy link
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

latency Latency REPL Julia's REPL (Read Eval Print Loop)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants