public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* New pty implementation is really slow
@ 2020-03-22  3:21 Joe
  2020-03-22  5:51 ` Marco Atzeri
  0 siblings, 1 reply; 3+ messages in thread
From: Joe @ 2020-03-22  3:21 UTC (permalink / raw)
  To: 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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: New pty implementation is really slow
  2020-03-22  3:21 New pty implementation is really slow Joe
@ 2020-03-22  5:51 ` Marco Atzeri
  2020-03-22  7:43   ` Thomas Wolff
  0 siblings, 1 reply; 3+ messages in thread
From: Marco Atzeri @ 2020-03-22  5:51 UTC (permalink / raw)
  To: 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...

$ uname -svr
CYGWIN_NT-10.0 3.1.4(0.340/5/3) 2020-02-19 08:49



Regards
Marco




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: New pty implementation is really slow
  2020-03-22  5:51 ` Marco Atzeri
@ 2020-03-22  7:43   ` Thomas Wolff
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Wolff @ 2020-03-22  7:43 UTC (permalink / raw)
  To: cygwin

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-22  7:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-22  3:21 New pty implementation is really slow Joe
2020-03-22  5:51 ` Marco Atzeri
2020-03-22  7:43   ` Thomas Wolff

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).