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

Speed startup by asynchronous initialization of ReplIO #8690

Closed
JaroslavTulach opened this issue Jan 5, 2024 · 3 comments
Closed

Speed startup by asynchronous initialization of ReplIO #8690

JaroslavTulach opened this issue Jan 5, 2024 · 3 comments

Comments

@JaroslavTulach
Copy link
Member

JaroslavTulach commented Jan 5, 2024

Investigation of

revealed that another reason for slowing the startup by 16% (while measurements were off) is replacement of DumbTerminal:

obrazek

by proper and more capable

org.jline.terminal.impl.jna.JnaTerminalProvider.sysTerminal()

As the terminal isn't going to needed for next 1 or 2 seconds, let's defer its initialization into own (low priority) Thread.

@JaroslavTulach
Copy link
Member Author

By initializing in own thread, we can eliminate Thread.currentThread().setContextClassLoader(prevClassLoader) - as the thread will die out after performing initialization.

@JaroslavTulach
Copy link
Member Author

When at it we could rewrite ReplIO (and maybe also Repl) into Java.

@Akirathan Akirathan moved this from ❓New to 📤 Backlog in Issues Board Jan 5, 2024
@Akirathan Akirathan moved this from 📤 Backlog to ❓New in Issues Board Jan 5, 2024
@jdunkerley jdunkerley moved this from ❓New to 📤 Backlog in Issues Board Jan 9, 2024
@jdunkerley
Copy link
Member

Closed as duplicate of #8688

@jdunkerley jdunkerley closed this as not planned Won't fix, can't repro, duplicate, stale Jan 9, 2024
@github-project-automation github-project-automation bot moved this from 📤 Backlog to 🟢 Accepted in Issues Board Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

3 participants