Subject: Re: RE: slow bash command line and scripts
From: [email-masked]
To: [email-masked]
Cc: Phil Betts <[email-masked]>
Date: Thu, 31 May 2007 18:59:54 -0400
List-Id: <cygwin.cygwin.com>

----- Original Message -----
From: Phil Betts <[email-masked]>
Date: Thursday, May 31, 2007 12:56 pm
Subject: RE: slow bash command line and scripts
To: [email-masked]

> [email-masked] wrote on Thursday, May 31, 2007 2:53 PM::
> 
> > The response time to bash command from the command line is very 
> slow.> For example, if I type "ls<cr>", it takes about 0.5 sec to 
> get some
> > output, and after the output, another 0.5 sec for the prompt.
> > 
> > Likewise, my scripts are very slow (I was comparing files in two
> > directories).  Looking at the task manager, the CPU usage was in the
> > single percent.
> > 
> > I could not find much in past emails, except to provide strace 
> output.> 
> > I am attaching the strace output to running ls (strace -o ... 
> ls), and
> > also the cygcheck output (cygcheck -srv).
> > 
> 
> I've only glanced at the trace, so this is not a diagnosis, just an
> observation.  You should certainly look into cleaning up your PATH.
> 
> The same directories are mentioned multiple times, this means that, as
> well as having to parse a longer than necessary string, the same 
> directories will be searched multiple times.  Note that /bin and 
> /usr/bin are usually the same in cygwin, so you only need one of them,
> and it should usually be first so that the shell needs to do the bare
> minimum to find the common commands.  In general, application specific
> directories should only come after system directories, unless the
> commands in them are intended to replace system commands.  In this 
> context, "system" means cygwin first, then Windows.
> 
> It's _never_ smart to have "." in your PATH, because:
> a) you're leaving yourself wide open to attack from malicious 
> software    (e.g. if there is a file called ls.exe in the current 
> directory 
>    that just happens to wipe your C drive, don't expect any 
> sympathy). b) the actual command file that runs should never depend 
> on where your 
>    current directory happens to be (unless you explicitly type 
>    "./commandname" of course), otherwise scripts that were 
> previously 
>    reliable will mysteriously stop working when you're in a 
> particular 
>    directory.
> 
> 
> Phil
> 

I followed Phil's advice and cleaned up PATH.  What is interesting is
that even with a bare cygwin start (no .bash_profile or .bashrc) I still
have /bin, /usr/bin, and /usr/X11R6/bin (followed by the windows' system
and user paths) in my path.  I am guessing this is something internal to
cygwin.

I also noted that my /etc/group file was huge, because it was the result
of the makegroup command, which gathered all the groups on our network.
 I removed most of the entries except the top ones that seemed to make
sense.

However, none of this has speeded up bash (sigh)

(thanks Phil for your advice).

Mirko

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/