X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.1 required=5.0 tests=AWL,BAYES_40,DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED,SPF_HELO_PASS,T_RP_MATCHES_RCVD,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Andy Nicholas Subject: Re: Cygwin speed difference on multiple cores -vs- single-core? Date: Sat, 14 Aug 2010 02:06:29 +0000 (UTC) Lines: 45 Message-ID: References: <4C65EBE4 DOT 1040401 AT aol DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 Tim Prince aol.com> writes: > Several possibilities which you haven't addressed may affect this. > Are you comparing the performance of a single thread when locked to a > single core, compared to when it is permitted to rotate among cores, > with or without HyperThread enabled? > I've never run into anyone running win7 32-bit; it may have more such > issues than the more common 64-bit. The scripts we're using form the basis of a build system to invoke GCC and an assembler lots of times throughout a directory tree of a few thousand items. The tree itself on the file-system is not gigantic. I've tried to make sure that the environment has all the usual suspects disabled (virus-checking disabled, paging completely disabled for all disks, nothing else running in the background) before comparing anything. I've been comparing using 2 different methods, one is the time to clean the tree using "rm -rf" via a makefile on empty directories and the other is to do a full build on a clean tree. When running make we don't use the "-j" option to use multi-threaded builds. When running each testing method, the CPUs are barely loaded at all (10%, maybe) and there's almost no I/O that registers. Hyperthreading is disabled. I've tried comparisons when configuring the PC using msconfig to present 1 core, 2 cores, and 4 cores. The difference between 1-core and 2 or 4 cores is dramatic with 1-core running 2x+ faster. There's almost no difference in speed between 2 cores and 4 cores. The disk is an SSD. I've recently tried launching the original command-line window with its affinity locked to core0 and priority set to "realtime". I've inspected the results using SysInternals' Process Explorer and spawned processes appear to be locked to core0. I made sure that the non-spawned processes like "conhost.exe" also had their affinities set and their priority raised to realtime. There's no difference in processing speed though. Btw, I don't think the issue is I/O. The disk I'm using is an SSD (OCZ Vertex 2) which is fairly fast. But, the results repeat even if I try a regular 7200 RPM hard drive. Yeah, weird. andy -- 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