Subject: Re: Performance regression in cygwin 3.4.0
From: Takashi Yano via Cygwin <[email-masked]>
To: [email-masked]
Cc: tryandbuy <[email-masked]>
Date: Thu, 8 Dec 2022 18:46:56 +0900
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>

On Wed, 07 Dec 2022 19:38:19 +0000
tryandbuy wrote:
> Reading from stdin is very slow when a process runs outside of Cygwin Terminal.
> 
> Steps to reproduce:
> 1. Create "test.txt" file using python code:
> long_text = "10" * 2500
> with open(r'test.txt', 'w') as f:
>     for i in range(5000):
>         f.write('KEY%03d: %d => %s\n' % (i % 100, i, long_text))
> 
> 2. Install "cygwin" package version > "3.3.6-1"
> 3. Open windows command prompt (cmd.exe)
> 4. Enter command:
> type test.txt | c:\cygwin64\bin\wc.exe -l
> 
> When running the same command (use cat instead of type) on the Cygwin Terminal, no performance issues observed.
> 
> The last version of cygwin package without issues: 3.3.6-1
> Versions of cygwin package with issues: 3.4.x - 3.5.x
> 
> P.S. I tested this combinations of pipings:
> cygwin_prog | win_prog    # no issues
> win_prog | cygwin_prog    # has issues when running in windows command prompt, no issues in Cygwin Terminal
> cygwin_prog | cygwin_prog # has issues  when running in windows command prompt, no issues in Cygwin Terminal

I confirmed the problem. I also identified the code difference,
which causes the problem, between cygwin 3.3.x and 3.4.0.

Let us consider how to fix that.

-- 
Takashi Yano <[email-masked]>

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple