This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Bash / cygwin process spawning (?) performance very slow
- From: Marco Atzeri <marco dot atzeri at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 23 Sep 2015 11:29:01 +0200
- Subject: Re: Bash / cygwin process spawning (?) performance very slow
- Authentication-results: sourceware.org; auth=none
- References: <5602684A dot 5090108 at null dot net>
On 23/09/2015 10:52, litter@null.net wrote:
Hi all,
I noticed that doing simple loops in Bash takes unexpectedly long under Cygwin on a Windows XP 32 bit machine
(CYGWIN_NT-5.1 <machine> 2.2.1(0.289/5/3) 2015-08-20 11:40 i686 Cygwin)
I already followed the FAQ advice in trying to determine general causes, and made a 'shadow' copy of /etc/passwd as described.
My PATH does not contain references to network shares.
Still quite normal commands take a long time e.g.
time cat some-file | while read i;do echo $i;/bin/true;done
real 1m44.953s
user 0m9.599s
sys 1m36.865s
for a file of 167 lines. Process Explorer showed a CPU load of 20% on bash.exe, which was almost completely Kernel time.
Is such high Kernel load normal?
may be. forks are time consuming and your command is spending all the
time in fork
In addition, I suspect your Antivirus is further slowing down the things.
I know it's a bit like comparing apples to oranges, but I run the SAME command from the same disk, from within a Debian 7 486 Linux on VirtualBox (!) on the same machine, it gave
real 0m3.871s
user 0m0.160s
sys 0m3.292s
So even running in emulator, real/user/sys time are about 30/60/30 times faster. That's quite shocking.
Is this performance to be expected? That would make it an obvious choice to switch to VirtualBox on this machine.
I have much better results with my cygwin
also with a much longer file
$ wc -l cygcheck.out
5220 cygcheck.out
$ time cat cygcheck.out | while read i;do grep text $i;done
..
real 0m0.288s
user 0m0.015s
sys 0m0.262s
$ time awk '{if ($1 ~ /text/) print $1}' cygcheck.out
...
real 0m0.076s
user 0m0.015s
sys 0m0.046s
Thanks,
Paul
for every job there is the right tool
:-0
Regards
Marco
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple