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: <5.1.0.14.2.20020605210753.02823c60@pop3.cris.com> X-Sender: rrschulz AT pop3 DOT cris DOT com Date: Wed, 05 Jun 2002 21:11:44 -0700 To: Russ Jorgensen , cygwin AT cygwin DOT com From: Randall R Schulz Subject: Re: Big Performance issue with CYGWIN 1.3.10 on Win2k - Urgent help reqd! In-Reply-To: <20020606033103.40460.qmail@web21508.mail.yahoo.com> References: <1022769047 DOT 11820 DOT ezmlm AT cygwin DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed 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/