delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/05/15/04:09:22

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <20020515080402.66364.qmail@web21504.mail.yahoo.com>
Date: Wed, 15 May 2002 01:04:02 -0700 (PDT)
From: Russ Jorgensen <jorg928a AT yahoo DOT com>
Subject: poor bash/sh while loop performance
To: cygwin AT cygwin DOT com
MIME-Version: 1.0

--0-1888884628-1021449842=:66321
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I hadn't upgraded my cygwin installation for nine
months or so, and when I did, I started having a
peculiar performance problem with one of my shell
scripts.  When you pipe into a "while read xxx; do"
loop, it's very slow.  I wrote a little benchmark
shell script to help me validate this belief, and it's
attached.

When I time it with just a bunch of nested "for"
loops, I get the following results:
    # time ./doit 1

    real    0m2.544s
    user    0m0.000s
    sys     0m0.000s

When I time it by piping the nested "for" loops into a
"while read" loop, I get the following results:
    # time ./doit 2

    real    0m22.855s
    user    0m0.000s
    sys     0m0.000s

As you can see, the "while read" loop seems to have
pitiful performance.

I changed the first line to "#!/bin/bash" to make sure
it wasn't specific to sh as opposed to bash, with the
same results.

I ran the "bash" version of the same benchmark script
on a linux box (basically same version of bash), and
the time doubled between the two passes, which is
pretty much what you would expect, so this seems to be
something in cygwin, not specific to the shell.

Anybody have any idea what's wrong, and how it might
be fixed?

Thanks.

    -Russ

__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com
--0-1888884628-1021449842=:66321
Content-Type: application/x-unknown; name=doit
Content-Transfer-Encoding: base64
Content-Description: doit
Content-Disposition: attachment; filename=doit

IyEvYmluL3NoCgojCiMgYmVuY2htYXJrIHBpcGluZyBpbnRvICJ3aGlsZSBy
ZWFkIgojCiMgImRvaXQgMSIgaXMgdGhlICJmaXJzdCBwYXNzIiB3aGljaCBi
ZW5jaG1hcmtzIGdlbmVyYXRpbmcgb3V0cHV0IHdpdGggdGhlCiMJbmVzdGVk
IGZvci1sb29wcwojCiMgImRvaXQgMiIgaXMgdGhlICJzZWNvbmQgcGFzcyIg
d2hpY2ggYWRkcyBvbiB0aGUgIndoaWxlIHJlYWQiIGxvb3AKIwoKIyBjaGVj
ayB1c2FnZQppZiB0ZXN0ICQjIC1uZSAxOyB0aGVuCiAgICBlY2hvICJ1c2Fn
ZTogZG9pdCB7MXwyfSIKICAgIGV4aXQgMQpmaQoKIyBmaXJzdCBwYXNzOiBn
ZW5lcmF0ZSBhIGJ1bmNoIG9mIG91dHB1dApmb3IgaSBpbiAxIDIgMyA0IDUg
NiA3IDggOSAwOyBkbwogICAgZm9yIGogaW4gMSAyIDMgNCA1IDYgNyA4IDkg
MDsgZG8KCWZvciBrIGluIDEgMiAzIDQgNSA2IDcgOCA5IDA7IGRvCgkgICAg
Zm9yIGwgaW4gMSAyIDMgNCA1IDYgNyA4IDkgMDsgZG8KCQllY2hvIGhpCgkg
ICAgZG9uZQoJZG9uZQogICAgZG9uZQpkb25lIHwKCiMgc2Vjb25kIHBhc3M6
IHRoZSAid2hpbGUgcmVhZCIgbG9vcAppZiB0ZXN0ICQxICE9IDI7IHRoZW4K
ICAgIGNhdCAtID4gL2Rldi9udWxsCmVsc2UKICAgIHdoaWxlIHJlYWQgSlVO
SzsgZG8KCUE9MQogICAgZG9uZQpmaQo=


--0-1888884628-1021449842=:66321
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
--0-1888884628-1021449842=:66321--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019