Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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: <20020608031036.92586.qmail@web21502.mail.yahoo.com> Date: Fri, 7 Jun 2002 20:10:36 -0700 (PDT) From: Russ Jorgensen Subject: Re: Big Performance issue with CYGWIN 1.3.10 on Win2k - Urgent help reqd! To: "Larry Hall \(RFK Partners, Inc\)" , Randall R Schulz , cygwin AT cygwin DOT com In-Reply-To: <5.1.0.14.0.20020606100221.0375bec8@pop.ma.ultranet.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Thanks for the input, everyone. I'm somewhat embarrassed to admit that I hadn't tried this test on other machines, and when I did, I got similar results to everyone else. I tried re-installing cygwin1.dll and bash, but it didn't have any effect. In general my machine performs very well, so I don't think there's a hardware problem, or anything. It's really weird, because "regular" pipes work fine. I guess I'll try to re-install cygwin from scratch and cross my fingers. If I'm ever able to isolate the problem, I'll let everyone know, just in case you're curious. Thanks again. -Russ --- "Larry Hall (RFK Partners, Inc)" wrote: > And I get: > > % time doit 1 > > real 0m1.124s > user 0m0.861s > sys 0m0.250s > > % time doit 2 > > real 0m3.032s > user 0m2.182s > sys 0m0.861s > > This is on my single iprocessor PIII-600 laptop > running W2K. I have to > agree with Randall's conclusion on this issue. > > Larry Hall > lhall AT rfk DOT com > RFK Partners, Inc. > http://www.rfk.com > 838 Washington Street (508) > 893-9779 - RFK Office > Holliston, MA 01746 (508) > 893-9889 - FAX > > > > At 12:11 AM 6/6/2002, Randall R Schulz wrote: > >Russ, > > > >Something is amiss with your system or your > installation. > > > >Here's what I get running your scripts: > > > >% time doit 1 > > > >real 0m0.972s > >user 0m0.622s > >sys 0m0.388s > > > >% time doit 2 > > > >real 0m1.925s > >user 0m1.513s > >sys 0m0.828s > > > >% set |egrep VER > >BASH_VERSINFO=([0]="2" [1]="05a" [2]="0" [3]="3" > [4]="release" [5]="i686-pc-cygwin") > >BASH_VERSION='2.05a.0(3)-release' > > > >% uname -a > >CYGWIN_NT-5.0 CLEMENS 1.3.10(0.51/3/2) 2002-02-25 > 11:14 i686 unknown > > > > > >It might be relevant that I have a dual-processor > system. > > > >Randall Schulz > >Mountain View, CA USA > > > > > > > >At 20:31 2002-06-05, Russ Jorgensen wrote: > >>Was anyone able to resolve this issue? A few > weeks > >>ago I posted about poor bash performance with > "while > >>read" loops. Maybe this is the same issue... > >> > >>Anyway, I hadn't upgraded my cygwin1.dll for quite > a > >>long time, but when I did, some of my shell > scripts > >>started to have horrible performance. I tracked > it > >>down to the "while read" loops. I wrote the > following > >>benchmark shell script to see how bad the problem > >>really is. On my PII-333 running Win-ME, I get > the > >>following results: > >> > >># time ./doit 1 > >> > >>real 0m3.555s > >>user 0m0.000s > >>sys 0m0.000s > >> > >># time ./doit 2 > >> > >>real 0m22.870s > >>user 0m0.000s > >>sys 0m0.000s > >> > >>When I run the same benchmark on a linux machine, > I > >>don't get nearly as big a difference between the > two > >>runs. > >> > >>It would be really great if one of the crack > >>programmers who work on cygwin could look into > this. > >>I imagine that everyone who uses cygwin would > >>appreciate a performance boost! > >> > >>Anyway, here's the benchmark shell script. > Thanks. > >> > >> -Russ > >> > >>#!/bin/bash > >> > >># > >># benchmark piping into "while read" > >># > >># "doit 1" is the "first pass" which benchmarks > >># generating output with the nested for-loops > >># > >># "doit 2" is the "second pass" which adds on the > >># "while read" loop > >># > >> > >># check usage > >>if test $# -ne 1; then > >> echo "usage: doit {1|2}" > >> exit 1 > >>fi > >> > >># first pass: generate a bunch of output > >>for i in 1 2 3 4 5 6 7 8 9 0; do > >> for j in 1 2 3 4 5 6 7 8 9 0; do > >> for k in 1 2 3 4 5 6 7 8 9 0; do > >> for l in 1 2 3 4 5 6 7 8 9 0; do > >> echo hi > >> done > >> done > >> done > >>done | > >> > >># second pass: the "while read" loop > >>if test $1 != 2; then > >> cat - > /dev/null > >>else > >> while read JUNK; do > >> A=1 > >> done > >>fi > > > > > >-- > >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/ > __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- 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/