This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Big Performance issue with CYGWIN 1.3.10 on Win2k - Urgent help reqd!


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)" <lhall@rfk.com>
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@rfk.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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]