public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Thomas Wolff <towo@towo.net>
To: cygwin@cygwin.com
Subject: Re: New pty implementation is really slow
Date: Sun, 22 Mar 2020 08:43:14 +0100	[thread overview]
Message-ID: <9ee9e561-322e-ae11-963e-d3e351e6b4ee@towo.net> (raw)
In-Reply-To: <dbbb929c-78a3-b5a8-4fd5-dffa1c99d43b@gmail.com>

Am 22.03.2020 um 06:51 schrieb Marco Atzeri via Cygwin:
> Am 22.03.2020 um 04:21 schrieb Joe via Cygwin:
>> I'm using cygwin 3.1.4 on Windows 10.
>>
>> The new pseudo terminal stuff seems really slow.
>>
>> For example:
>> $ time seq 10000
>> (output omitted)
>> real    0m23.510s
>> user    0m1.515s
>> sys     0m4.483s
>>
>> If I minimize the mintty window while seq is running, it gets 
>> slightly better:
>> real    0m4.562s
>> user    0m0.390s
>> sys     0m1.202s
>>
>> But when I set CYGWIN=disable_pcon before starting mintty, I get:
>> $ time seq 10000
>> (output omitted)
>> real    0m0.366s
>> user    0m0.109s
>> sys     0m0.093s
>>
>> So the new implementation seems to be over 60 times slower than the 
>> old one.
>> -- 
>
> only factor 10x on my test, amd only impacting mintty case
> Curious that 32bit disabled is 2x faster than 64bit disabled
>
> 64 bit
>
> Mintty with enabled (default)
>
> real    0m2.674s
> user    0m0.234s
> sys     0m0.859s
>
> mintty with disabled
>
> real    0m0.247s
> user    0m0.015s
> sys     0m0.046s
>
> CMD with enabled
> real    0m1.121s
> user    0m0.109s
> sys     0m0.187s
>
> CMD with disabled
> real    0m1.084s
> user    0m0.078s
> sys     0m0.312s
>
> 32 bit
>
> Mintty with enabled (default)
> real    0m2.548s
> user    0m0.281s
> sys     0m0.686s
>
> Mintty with disabled
> real    0m0.058s
> user    0m0.030s
> sys     0m0.000s
>
> CMD with enabled
> real    0m1.021s
> user    0m0.124s
> sys     0m0.296s
>
> CMD with disabled
> real    0m1.018s
> user    0m0.109s
> sys     0m0.265s
>
> I have the impression that the slow is due to some type of buffer 
> expansion as I seem to notice a not uniform progress of the print
> the screen. But it could be just my eye...
With disable_pcon, output is sent to mintty in bunches of 256 bytes at 
each read() invocation.
With pcon enabled, typical output size is 12 bytes. That doesn't seem to 
be the whole story, though.
Thomas

      reply	other threads:[~2020-03-22  7:43 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-22  3:21 Joe
2020-03-22  5:51 ` Marco Atzeri
2020-03-22  7:43   ` Thomas Wolff [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9ee9e561-322e-ae11-963e-d3e351e6b4ee@towo.net \
    --to=towo@towo.net \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).