From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omta001.cacentral1.a.cloudfilter.net (omta001.cacentral1.a.cloudfilter.net [3.97.99.32]) by sourceware.org (Postfix) with ESMTPS id D7F6E3857B86 for ; Tue, 24 May 2022 19:31:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D7F6E3857B86 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=SystematicSw.ab.ca Authentication-Results: sourceware.org; spf=none smtp.mailfrom=systematicsw.ab.ca Received: from shw-obgw-4002a.ext.cloudfilter.net ([10.228.9.250]) by cmsmtp with ESMTP id tVRxnmMhKwtwGtaFsnWspE; Tue, 24 May 2022 19:31:44 +0000 Received: from [10.0.0.5] ([184.64.124.72]) by cmsmtp with ESMTP id taFwnrkMryz1utaFwnzGOu; Tue, 24 May 2022 19:31:49 +0000 X-Authority-Analysis: v=2.4 cv=J4G5USrS c=1 sm=1 tr=0 ts=628d32a5 a=oHm12aVswOWz6TMtn9zYKg==:117 a=oHm12aVswOWz6TMtn9zYKg==:17 a=IkcTkHD0fZMA:10 a=ZubcGFkXAAAA:8 a=ejknC5xS72zp2OFXFO8A:9 a=QEXdDO2ut3YA:10 a=kUx6feENxpTNjkNjdsbW:22 Message-ID: <49bf2ad2-808c-2a29-0c23-eaf97f476e94@SystematicSw.ab.ca> Date: Tue, 24 May 2022 13:31:48 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Reply-To: cygwin@cygwin.com Subject: Re: Cygwin Perl has slowed in recent months Content-Language: en-CA To: cygwin@cygwin.com References: <9a24b87b-e71d-9371-5d78-2b0f160adacd@holgerdanske.com> <69f7b5b2-0730-bce2-90d8-95a7fde0a15f@t-online.de> From: Brian Inglis Organization: Systematic Software In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfC4G/iaXtCgsiz6oCyA8fXASLiVE9i1bOpsBBtLE9NSLMUZ1UIlyoPnsZ4K5/pqr2hTGsXoSjcQ+o5C4iD0scVQJVDKTqIB+dK231hvmMKKuSSMrNgsN djmOTxxaQlAosxux9bL8FtZc75gpFwJpHQQvV25eyU+tpbsZ3+G4NYyutg8OjNu0R4Yc2ubquBv5sx1pNb3pb4dKsNpxWNMjXus= X-Spam-Status: No, score=-1164.0 required=5.0 tests=BAYES_00, BODY_8BITS, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 May 2022 19:31:52 -0000 On 2022-05-24 09:03, David Christensen wrote: > On 5/24/22 01:47, Sam Edge wrote: >> On 24/05/2022 09:25, Csaba Raduly wrote: >>> On Mon, 23 May 2022 at 20:47, Lee  wrote: >>>> On 5/22/22, David Christensen wrote: >>>>> On 5/21/22 10:55, Hans-Bernhard Bröker wrote: >>>>>> Am 18.05.2022 um 03:53 schrieb David Christensen: >>>>>>> I am working on a Perl module that runs on various Unix-like >>>>>>> platforms. >>>>>>> When I 'make test' on similar computers: >>>>>>> FreeBSD 12.3-RELEASE         28 wallclock secs >>>>>>> Debian GNU/Linux 11.3        31 wallclock secs >>>>>>> macOS 11.6.2              36 wallclock secs >>>>>>> Windows 7 / Cygwin 3.3.5-1  509 wallclock secs >>>>>> Given the complete lack of information about what that Perl >>>>>> module of yours might be doing, that's hard to have a >>>>>> meaningful discussion about. >>>>> Thank you for the response. I was hoping there was a known >>>>> issue. Apparently, not. >>>> What I consider a well known issue is that process start up >>>> time is _very_ slow. If your 'make test' starts lots of >>>> processes that could be a problem. >>> While Cygwin''s fork emulation is indeed slow (I once measured >>> 1000:1 between Cygwin and Linux * ), "make test" likely started >>> roughly the same number of processes "then" as it does "now". In >>> which case the increase in the run time could be attributed to >>> Cygwin. >> Indeed. >> But perhaps what the Cygwin core and/or Cygwin Perl maintainers need is a >> simple test case Perl script that can be shown to be much slower on the >> current >> releases than it was on a named earlier pair of releases. And maybe some >> testing by the original poster to see if it is the Cygwin or Perl release >> change that causes the issue. >> Anecdotal observations do not an issue report make. ;-) Nobody can interpret results where the source is not well known and we do not have access to the source. This project definitely prefers Simple Test Cases. Please show us your source, or better cut it down to show only the slow parts, and demonstrate the slowness, and someone with appropriate expertise may be able to help. > So, we are discussing running a Perl benchmark for various combinations > of Cygwin version and/or Cygwin Perl version.  That is an O(n) and/or > O(n**2) problem. > If multiple benchmarks are considered, increase the O() exponent by one. > If multiple versions of Windows are considered, increase the O() > exponent by one. > If multiple computers are considered, increase the O() exponent by one. > Does the Cygwin project do any of the above?  If so, how?  Where are the > test plans and assets?  Where is the raw data?  Where are the reports? > If end users are expected to do the above, please advise: > 1.  How to install multiple versions of Cygwin on Windows 7 Professional > 64-bit Service Pack 1 on an x86_64 computer such that each instance of > Cygwin does not interact with any other instance of Cygwin. > 2.  How to install multiple versions of Cygwin Perl on each of many > Cygwin installations on Windows 7 Professional 64-bit Service Pack 1 on > an x86_64 computer such that each instance of Cygwin Perl does not > interact with any other instance of Cygwin Perl or Cygwin. This project is an all volunteer effort done in contributors' free time. Users with problems need to do their part in reporting problems: see Cygwin sig at bottom for advice on reporting problems, and FAQ answers. > 3.  What is a suitable Perl benchmark? A Simple Test Case from your source code is the best diagnostic frequently provided by users with uncommon problems often leading to satisfactory successful resolutions. If there are Perl performance, timing, or trace utilities or modules, you might want to investigate and test those out, and provide details from them here. Running your program using the strace utility to log the core Cygwin activity and timings should give you information to start narrowing down any Cygwin bottlenecks e.g. $ strace -o perl.strace perl -e ... and you can attach it to a post for assistance. Do not neglect checking Windows Task Manager, Resource Monitor, or Sysinternals Process Monitor to find system level symptoms and provide details from them here. Pointers from any of the above to specific Perl statements or modules, Cygwin core components, or Windows API calls, could be enough to allow others to assist you with your current issue. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada This email may be disturbing to some readers as it contains too much technical detail. Reader discretion is advised. [Data in binary units and prefixes, physical quantities in SI.]