This is the mail archive of the cygwin 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: slow bash command line and scripts


MVUKOVIC@xxxxx.xx.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

--
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/


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