Mail Archives: cygwin/2007/05/31/19:00:20
----- Original Message -----
From: Phil Betts <Phil DOT Betts AT ascribe DOT com>
Date: Thursday, May 31, 2007 12:56 pm
Subject: RE: slow bash command line and scripts
To: cygwin AT cygwin DOT com
> MVUKOVIC AT xxxxx DOT xx DOT xxx 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/
- Raw text -