X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.4 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org From: "David Tazartes" To: "'Jeremy Bopp'" , In-Reply-To: <4A9EB7E9.9030508@bopp.net> Subject: RE: Simple bash script is slow to execute - appears to be time spent starting commands like ls Date: Wed, 2 Sep 2009 14:45:30 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-ID: X-ELNK-Trace: 5bf265d7c89f1e8e1aa676d7e74259b7b3291a7d08dfec792b803587bdac518185822abe739e4e8e350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Jeremy Bopp wrote: How about we try to boil this down a little further? Try running the following on your various systems and compare the results: time for n in $(seq 1 10000); do true; done I'm hopeful that this should help eliminate IO as a bottleneck in your comparisons. Maybe someone else has a better suggestion. If you still see a difference in performance of a similar magnitude as you do with the echo | cut case, this might argue for fork being your problem. I can't say whether or not what you're seeing is really expected for fork though. All I know is that fork is fairly slow in Cygwin. If it turns out that IO is the issue, I don't think I'll be much help, not that I'm much help to begin with here. ;-) It's also possible that you have BLODA on your laptop which could be interfering in some way. I think cygcheck is able to identify some of them for you. The problem reporting guidelines (http://cygwin.com/problems.html) contain information for running cygcheck which may help others identify typical problems. ----- The true loop is only about 3 times slower on Cygwin than Linux. But: "true" is a bash built-in, so there is no forking going on. So I'd argue this absolutely shows there is a forking problem. ("time true" and "time echo hi" both give all 0's.) I also noticed that running "echo hi | c:\cygwin\bin\wc -l" just from cmd seems to pause for a second or so. So perhaps I have just a problem starting processes quickly in Vista. cygcheck didn't reveal anything. I looked at the BLODA list and I only have Symantec Antivirus as mentioned earlier, but I already tried disabling it to no effect. -- 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