From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-03.nifty.com (conssluserg-03.nifty.com [210.131.2.82]) by sourceware.org (Postfix) with ESMTPS id 184DB396E47C for ; Thu, 8 Dec 2022 14:55:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 184DB396E47C Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=nifty.ne.jp Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nifty.ne.jp Received: from HP-Z230 (aj135041.dynamic.ppp.asahi-net.or.jp [220.150.135.41]) (authenticated) by conssluserg-03.nifty.com with ESMTP id 2B8Eskwv014309 for ; Thu, 8 Dec 2022 23:54:46 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-03.nifty.com 2B8Eskwv014309 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp; s=dec2015msa; t=1670511286; bh=fDswJh6fDTvfbGkSZIdnWdNchI2mJR62SsOU8b80cZ0=; h=Date:From:To:Subject:In-Reply-To:References:From; b=mlyWE19VIDjefjbHFTD6QWVlc2m9mfkeBPVw60aZI0pwTluyA06Yjm/aY64GbZu12 2qAPwv8VvD7lr9PEUZe44kx/rsov3351yUOEVdQtDqp2c7+XBhZ04/YGJXeXN5MGtg jtz8rhoOk0ngG/PII7562clrXaHxvx2o8z5qQd8t6jww9TOJCWlVTUadzcKbEO+bGT yDP1NCefJZ7LuTSI6/h9LZKhBEd73KBUv+ndH9O1aXoEU7GXSY675S90Bll45I9i5g X5yp1JsKDx7StqP5bAO2OugNX77yoE/ZGcDeAphS2SOvW26Lr5WcAh3oLWOSvRc1LM JvK/ZE2E97mQQ== X-Nifty-SrcIP: [220.150.135.41] Date: Thu, 8 Dec 2022 23:54:45 +0900 From: Takashi Yano To: cygwin-developers@cygwin.com Subject: Re: Performance regression in cygwin 3.4.0 Message-Id: <20221208235445.eb2a862dac8db77b5be8f6bc@nifty.ne.jp> In-Reply-To: <20221208184656.ea6b9796eccc503c1e238f0f@nifty.ne.jp> References: <20221208184656.ea6b9796eccc503c1e238f0f@nifty.ne.jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Thu__8_Dec_2022_23_54_45_+0900_wX4_CW=teJ4Cnzzd" X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_NUMSUBJECT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --Multipart=_Thu__8_Dec_2022_23_54_45_+0900_wX4_CW=teJ4Cnzzd Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi, Corinna, Ken, and other cygwin developers, I tried to fix the following performance problem of non-cygwin pipe and succeeded by applying the patch attached. Although it is not smart enough, it works as far as I tested. What do you think of this patch? Any other idea? Comments or suggestions will be appreciated. On Thu, 8 Dec 2022 18:46:56 +0900 Takashi Yano wrote: > 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 --Multipart=_Thu__8_Dec_2022_23_54_45_+0900_wX4_CW=teJ4Cnzzd Content-Type: application/octet-stream; name="0001-Cygwin-pipe-Fix-performance-degradation-for-non-cygw.patch" Content-Disposition: attachment; filename="0001-Cygwin-pipe-Fix-performance-degradation-for-non-cygw.patch" Content-Transfer-Encoding: base64 RnJvbSBlYjExZDA5OGRkOGQwYmY5YzUyMjkxYzViNTEwNjcxNWQ1ZTMxMjhkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q cD4KRGF0ZTogVGh1LCA4IERlYyAyMDIyIDIyOjAyOjQzICswOTAwClN1YmplY3Q6IFtQQVRDSF0g Q3lnd2luOiBwaXBlOiBGaXggcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gZm9yIG5vbi1jeWd3aW4K IHBpcGUuCgotIEFmdGVyIHRoZSBjb21taXQgOWU0ZDMwOGNkNTkyZmUzODNkZWM1OGVhNjUyM2Mx YjQzNjg4OGVmOCwgdGhlCiAgcGVyZm9ybWFuY2Ugb2YgcmVhZCBmcm9tIG5vbi1jeWd3aW4gcGlw ZSBoYXMgYmVlbiBkZWdyYWRlZC4gVGhpcwogIGlzIGJlY2F1c2Ugc2VsZWN0X3NlbSBtZWNoYW5p c20gZG9lcyBub3Qgd29yayBmb3Igbm9uLWN5Z3dpbiBwaXBlLgogIFRoaXMgcGF0Y2ggZml4ZXMg dGhlIGlzc3VlLgoKICBBZGRyZXNzZXM6CiAgICBodHRwczovL2N5Z3dpbi5jb20vcGlwZXJtYWls L2N5Z3dpbi8yMDIyLURlY2VtYmVyLzI1MjYyOC5odG1sCi0tLQogd2luc3VwL2N5Z3dpbi9maGFu ZGxlci9waXBlLmNjIHwgMjEgKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwg MjAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3 aW4vZmhhbmRsZXIvcGlwZS5jYyBiL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXIvcGlwZS5jYwppbmRl eCA3MjBlNGVmZDMuLjY1NGU5NGViZCAxMDA2NDQKLS0tIGEvd2luc3VwL2N5Z3dpbi9maGFuZGxl ci9waXBlLmNjCisrKyBiL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXIvcGlwZS5jYwpAQCAtMjgxLDYg KzI4MSw5IEBAIGZoYW5kbGVyX3BpcGU6OnJhd19yZWFkICh2b2lkICpwdHIsIHNpemVfdCYgbGVu KQogICBzaXplX3QgbmJ5dGVzID0gMDsKICAgTlRTVEFUVVMgc3RhdHVzID0gU1RBVFVTX1NVQ0NF U1M7CiAgIElPX1NUQVRVU19CTE9DSyBpbzsKKyAgRFdPUkQgdDAgPSBHZXRUaWNrQ291bnQgKCk7 IC8qIEluaXQgdGltZXIgKi8KKyAgY29uc3QgRFdPUkQgdDBfdGhyZXNob2xkID0gMjA7CisgIGNv bnN0IERXT1JEIHQwX292ciA9IDEwMDsKIAogICBpZiAoIWxlbikKICAgICByZXR1cm47CkBAIC0z MTIsNiArMzE1LDcgQEAgZmhhbmRsZXJfcGlwZTo6cmF3X3JlYWQgKHZvaWQgKnB0ciwgc2l6ZV90 JiBsZW4pCiAgICAgewogICAgICAgVUxPTkdfUFRSIG5ieXRlc19ub3cgPSAwOwogICAgICAgVUxP TkcgbGVuMSA9IChVTE9ORykgKGxlbiAtIG5ieXRlcyk7CisgICAgICBEV09SRCBzZWxlY3Rfc2Vt X3RpbWVvdXQgPSAwOwogCiAgICAgICBGSUxFX1BJUEVfTE9DQUxfSU5GT1JNQVRJT04gZnBsaTsK ICAgICAgIHN0YXR1cyA9IE50UXVlcnlJbmZvcm1hdGlvbkZpbGUgKGdldF9oYW5kbGUgKCksICZp bywKQEAgLTMzOCw2ICszNDIsNyBAQCBmaGFuZGxlcl9waXBlOjpyYXdfcmVhZCAodm9pZCAqcHRy LCBzaXplX3QmIGxlbikKIAkgIG5ieXRlcyArPSBuYnl0ZXNfbm93OwogCSAgaWYgKHNlbGVjdF9z ZW0gJiYgbmJ5dGVzX25vdyA+IDApCiAJICAgIHJlbGVhc2Vfc2VsZWN0X3NlbSAoInJhd19yZWFk Iik7CisJICB0MCA9IEdldFRpY2tDb3VudCAoKTsgLyogUmVzZXQgdGltZXIgKi8KIAl9CiAgICAg ICBlbHNlCiAJewpAQCAtMzU4LDcgKzM2MywyMSBAQCBmaGFuZGxlcl9waXBlOjpyYXdfcmVhZCAo dm9pZCAqcHRyLCBzaXplX3QmIGxlbikKIAkJICBuYnl0ZXMgPSAoc2l6ZV90KSAtMTsKIAkJICBi cmVhazsKIAkJfQotCSAgICAgIHdhaXRyZXQgPSBjeWd3YWl0IChzZWxlY3Rfc2VtLCAxKTsKKwkg ICAgICAvKiBQcmV2ZW50IHRpbWVyIGZyb20gb3ZlcmZsb3cgKi8KKwkgICAgICBpZiAoR2V0VGlj a0NvdW50ICgpIC0gdDAgPiB0MF9vdnIpCisJCXQwICs9IHQwX292ciAtIHQwX3RocmVzaG9sZDsK KwkgICAgICAvKiBJZiB0aGUgcGlwZSBpcyBhIG5vbi1jeWd3aW4gcGlwZSwgc2VsZWN0X3NlbSB0 cmljaworCQkgZG9lcyBub3Qgd29yay4gQXMgYSByZXN1bHQsIHRoZSBmb2xsb3dpbmcgY3lnd2Fp dCgpCisJCSB3aWxsIHJldHVybiBvbmx5IGFmdGVyIHRpbWVvdXQgb2NjdXJzLiBUaGlzIGNhdXNl cworCQkgcGVyZm9ybWFuY2UgZGVncmFkYXRpb24uIEhvd2V2ZXIsIHNldHRpbmcgdGltZW91dAor CQkgdG8gemVybyBjYXVzZXMgaGlnaCBDUFUgbG9hZC4gU28sIHNldCB0aW1lb3V0IHRvCisJCSBu b24temVybyBvbmx5IHdoZW4gc2VsZWN0X3NlbSBpcyB2YWxpZCBvciBwaXBlIGlzCisJCSBub3Qg cmVhZHkgdG8gcmVhZCBmb3IgbW9yZSB0aGFuIHQwX3RocmVzaG9sZC4KKwkJIFRoaXMgcHJldmVu dHMgYm90aCB0aGUgcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gYW5kCisJCSB0aGUgaGlnaCBDUFUg bG9hZC4gKi8KKwkgICAgICBpZiAoc2VsZWN0X3NlbSB8fCBHZXRUaWNrQ291bnQgKCkgLSB0MCA+ IHQwX3RocmVzaG9sZCkKKwkJc2VsZWN0X3NlbV90aW1lb3V0ID0gMTsKKwkgICAgICB3YWl0cmV0 ID0gY3lnd2FpdCAoc2VsZWN0X3NlbSwgc2VsZWN0X3NlbV90aW1lb3V0KTsKIAkgICAgICBpZiAo d2FpdHJldCA9PSBXQUlUX0NBTkNFTEVEKQogCQlwdGhyZWFkOjpzdGF0aWNfY2FuY2VsX3NlbGYg KCk7CiAJICAgICAgZWxzZSBpZiAod2FpdHJldCA9PSBXQUlUX1NJR05BTEVEKQotLSAKMi4zOC4x Cgo= --Multipart=_Thu__8_Dec_2022_23_54_45_+0900_wX4_CW=teJ4Cnzzd--