microsoft / microsoft/terminal
vim slower to open/close in conhost v2 compared to v1
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 105k
- Forks
- 9.6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 29
Description
Environment
Windows build number: 17763
Windows Terminal version (if applicable): N/A, conhost only
Any other software? Vim for Windows, tested with 7.4-8.1
Steps to reproduce
Open a CMD window with a shortcut that specifies a large window buffer. The default in RS5 appears to be 9000, which is sufficient. Use the command line vim to open a random text file and observe startup time. Quit vim and observe exit time.
(Note that vim has a startup time debugging facility - run "vim --startuptime logfile filetoopen" and it will report the time spent in various phases of startup to the log file.)
Expected behavior
Expecting performance of open/close to be more in line with the legacy console. Note that the change to default to 9000 lines of history is also causal.
Actual behavior
Vim appears to take around a second or two to start and a second or two to exit, which appears to be saving and restoring the console screen buffer, when using conhost v2. This does not occur with v1, and can be mitigated by reducing the screen buffer size.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Reproduce the delay in conhost v2 with Vim, compare it with v1, and use Vim's --startuptime logfile filetoopen facility while varying the screen buffer size; done means identifying and correcting the v2 performance difference without the buffer-size mitigation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, vim
- Domain
- cli, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100