microsoft / microsoft/terminal

The input speed of ConPTY / ConHost is very slow.

Open
#13,594 9 comments 2 reactions 0 assignees View on GitHub
Area-Input Area-VT Help Wanted Issue-Bug Product-Conpty
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

### Windows Terminal version

1.12.10982.0

### Windows build number

10.0.19043.0

### Other Software

https://github.com/UserExistsError/conpty v0.1.0

https://github.com/trzsz/trzsz-go v0.1.9

### Steps to reproduce

1. Install [trzsz-go](https://github.com/trzsz/trzsz-go), download [trzsz_0.1.9_windows_x86_64.zip](https://github.com/trzsz/trzsz-go/releases/download/v0.1.9/trzsz_0.1.9_windows_x86_64.zip) and unzip, you will get `trzsz.exe`, `trz.exe` and `tsz.exe`.

2. open `cmd`

3. execute `trzsz cmd`

4. execute `trz`, a dialog will pop up.

5. choose a file in the dialog, the file will be uploaded to the current directory.

### Expected Behavior

The `trzsz` create a `ConPTY` process ( `cmd` ), and send the file content as keystrokes.

The `trz` receive the file content and save to the current directory.

The upload speed should be `2MB/s` at least. Same as the download speed.

### Actual Behavior

The upload speed is only about `128KB/s`. Looks like the keystrokes are speed limited.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the report with trzsz-go 0.1.9 through a ConPTY/ConHost cmd process, using the listed Windows and Windows Terminal versions as context. Compare the roughly 128KB/s upload with the expected 2MB/s and the download speed; done means identifying and correcting the input-speed limit without regressing the reproduction path.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, operating-systems, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.