From: David Christensen <dpchrist@holgerdanske.com>
To: cygwin@cygwin.com
Subject: Re: Cygwin Perl has slowed in recent months
Date: Tue, 24 May 2022 10:09:57 -0700 [thread overview]
Message-ID: <28084444-dec3-d3b2-bfe5-b9472f2e3f0f@holgerdanske.com> (raw)
In-Reply-To: <82fcdaf2-3fff-5244-6a47-71ba768a0908@gmx.com>
On 5/24/22 08:59, Sam Edge wrote:
> On 24/05/2022 16: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 <dpchrist@holgerdanske.com> 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. ;-)
>>
>>
>> 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.
>>
>> 3. What is a suitable Perl benchmark?
>>
>>
>> David
>>
> The Cygwin core & Perl maintainers do not get paid for their work.
I do not get paid for working on Cygwin and/or Perl. But, I have been
paid for using and programming both.
> If you believe you have spotted a regression, it's up to you to isolate
> at what revision of Perl or of Cygwin core it started to happen.
If Cygwin provides me with the means; fair enough.
> You can
> get older revisions of Cygwin & Perl from the Cygwin Time Machine
> (GFGI).
https://html.duckduckgo.com/html?q=site%3Acygwin.org%20cygwin%20time%20machine
https://cygwin.cygwin.narkive.com/cSRkGFjw/time-machine
http://www.fruitbat.org/Cygwin/index.html#cygwincirca
http://www.crouchingtigerhiddenfruitbat.org/Cygwin/timemachine.html
I built a similar hack years ago.
GFGI Programming Systems Product
> You can have as many parallel installations of Cygwin and its
> packages as you like simply by specifying different install paths when
> running the setup program (RTFM).
Section? Page?
> Like most FOSS, Cygwin & its packages are provided with no warranty.
https://cygwin.org/faq.html#faq.what.free
> If they are so vital to your business, you need to be doing regression
> testing yourself before upgrading production systems
Have you been spying on me? ;-)
> and maintaining
> your own Cygwin repo so you have a copy of the production releases.
https://cygwin.org/faq.html#faq.what.version
https://cygwin.org/faq.html#faq.setup.old-versions
I would say "disappointing", but I think you found the answer (below).
> This is all SOP for using FOSS in a business context,
TIMTOWTDI.
> unless you're
> willing to pay someone else to do it for you,
> which is how Red Hat et al
> make their money.
I think you have found the answer.
David
next prev parent reply other threads:[~2022-05-24 17:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-18 1:53 David Christensen
2022-05-21 17:55 ` Hans-Bernhard Bröker
2022-05-22 19:11 ` David Christensen
2022-05-23 18:47 ` Lee
2022-05-23 21:22 ` David Christensen
2022-05-24 8:25 ` Csaba Raduly
2022-05-24 8:47 ` Sam Edge
2022-05-24 15:03 ` David Christensen
2022-05-24 15:59 ` Sam Edge
2022-05-24 17:09 ` David Christensen [this message]
2022-05-24 19:31 ` Brian Inglis
2022-05-24 18:57 ` Achim Gratz
2022-05-25 6:36 ` David Christensen
2022-05-25 15:04 ` gs-cygwin.com
2022-05-25 20:06 ` David Christensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=28084444-dec3-d3b2-bfe5-b9472f2e3f0f@holgerdanske.com \
--to=dpchrist@holgerdanske.com \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).