X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2A69038618EC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1703161053;
	bh=YdFlfdysbuSVegDuwnpsI2envPs1JLcvHchRF51CUPQ=;
	h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
	 From;
	b=HV+Je7zsa+i1E8K9QD0BGRk02+I1pdaAHTKZh0NeIm7Usxzq3tlu5OaUPstL/8xD6
	 fbzl2JyNFOcIz9EFDOyUAjsILxLIEUGlAMDUUYGwZmFtwSuQXos3P3AV6jiWzcXFZw
	 n6myoBrlygtaZHLjAKY4ondPPSFC8coWn9aon69s=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EE5853858C52
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EE5853858C52
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703161014; cv=none;
 b=IWxyEKYCnZzkA++fNjDQ/SOJpaWyHbXbmy5wQiJtbllmpa+CkF1lEMBo6NGfAC1SGPi50FzSndIc87BdyrCH5xGcmWLRsl958nGzj4HcSUiJAwPn2biTlKCHw6hjTvhtE38oG0LA4X/DdyEANW67sAkbG2lKKvxEFYibow/e/CE=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
 t=1703161014; c=relaxed/simple;
 bh=eiZGT6D/zDj/BoGvTXRCZjgyfsC+vSH7ZOs8f5Ir44k=;
 h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;
 b=HwEgYJd/2PFS+3BJQJkG1105z9N6nBoyUy3FdKTOSbR+g6eVoNuKBH0ZfcU5A0J25lWfoVC3mCbDwgzGJnEtSKPsoOUQiR1cd5QxJLq9i2TYIalNljfJ07vAmq37tsrnHdUb2ONKV6Ji3zNjj70KJobllFcOWQk1bTxRk9PnllE=
ARC-Authentication-Results: i=1; server2.sourceware.org
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1703161012; x=1703765812;
 h=content-transfer-encoding:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=eiZGT6D/zDj/BoGvTXRCZjgyfsC+vSH7ZOs8f5Ir44k=;
 b=EoLeQZokh4gcA9FrtoVTQHd1DKQf6kj9h+UBhIo0hFsmIZ4Jl0hkLN6CmQqsLrhISn
 068DtNr8ed9ZuCx7xyy08Jh4Rhbew3/WA3sf/aKaq822VhNWL3etgM2Pal3EG6FDZCVx
 2GBzzm16SiGjn6Iz4b+oqGXU+qzdg0s+Njes1a9D0CYnKraSLzWAkvJW32A4hgzvIGqW
 YepWWAKkryXTN+DPRqWv4QRCS6zOCpU0vHlGGqb13YTBLX3JLLsj0CehXO4g0RuCi8Z9
 WsQROLv/IouMAUnSiXQ54k3okzXsOHcJPyBYtev6Z3HwLDe1pxENT0ujd9kVf2w3t/AW
 /v4w==
X-Gm-Message-State: AOJu0YzF10/Oe+JEOkTfoS35CrJt/amLU8KIGH6ytiNq2D7mMFzf5qcu
 aaq/bdZ9t5BETrE+737viqD0MteWmjAodRfq6qbLg6xX
X-Google-Smtp-Source: AGHT+IEmka6NzfC+YxIF0+8nJh0FwDxtVafqtJmGkEBN4lhs8W5awHncmYMDgwcApcujbLU7BRZWJTBXiXGum21j4Qk=
X-Received: by 2002:a05:6870:d38e:b0:204:1acf:6f2 with SMTP id
 k14-20020a056870d38e00b002041acf06f2mr1515658oag.77.1703161012072; Thu, 21
 Dec 2023 04:16:52 -0800 (PST)
MIME-Version: 1.0
References: <CAAvCNcBZGepZMP9Q0D5ua+6ACftDOQEriqnuCbwg6umBPUA72Q@mail.gmail.com>
 <CAAvCNcB0_0ZeujP23QZFZaDvVTh5rxbXJw4FP6uXNPErCgdZ2w@mail.gmail.com>
 <07c7379e983c9f436ebf86e3818ca843@kylheku.com>
In-Reply-To: <07c7379e983c9f436ebf86e3818ca843@kylheku.com>
Date: Thu, 21 Dec 2023 13:16:40 +0100
Message-ID: <CANH4o6OjJJZQkbELt+H3WdAxQbLGZ1DL0ytevknRpbTO9sVUig@mail.gmail.com>
Subject: rfe: CYGWIN fslinktypes option? Re: Catastrophic Cygwin find . -ls,
 grep performance on samba share compared to WSL&Linux
To: cygwin@cygwin.com
X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00, DKIM_SIGNED,
 DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,
 SPF_HELO_NONE, SPF_PASS, 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.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Martin Wege via Cygwin <cygwin@cygwin.com>
Reply-To: Martin Wege <martin.l.wege@gmail.com>
Content-Type: text/plain; charset="utf-8"
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 3BLCHXNe005194

On Wed, Dec 20, 2023 at 6:21 PM Kaz Kylheku via Cygwin
<cygwin@cygwin.com> wrote:
>
> On 2023-12-17 22:22, Dan Shelton via Cygwin wrote:
> > It would be nice if someone from the Cygwin authors could assist me in
> > figuring out why this happens.
>
> Cygwin is famously slow; this is nothing new. We are grateful
> for Cygwin because it makes stuff work at all; if it were blazing
> fast that would be a bonus.
>
> E.g. git operations (clone, rebase, ...); ./configure scripts; ...: all
> run like molasses.
>
> The following is just my fast and loose opinion, shot from the hip,
> and possibly off or wrong, but it likely has to do with the layering.
> Cygwin's core API is based on a C library called Newlib. Cygwin bolts
> Newlib to Windows by means of an additional shim below Newlib that
> is based on C++ objects, where there is path munging going on and such,
> and that's where the Win32 calls get made. It's an additional abstraction.

I disagree with that. Ok, part of that is that the layering causes
more memory allocations and copies, but this is not the root cause.

The root cause is IMO the extra Win32 syscalls (>= 3 per file lookup,
compared to 1 on Linux) to lookup the *.lnk and *.exe.lnk files on
filesystems which have native link support (NTFS, ReFS, SMBFS, NFS).
On SMBFS and NFS it hurts the most, because access latency is the
highest for networked filesystems.

So my proposal would be to add an option ('fslinktypes') to the CYGWIN
environment variable to define which types of links are supported:
default 'all'. which is an shortcut for 'native,lnk,lnkexe'.
So in case people do not want 'lnk' link support they just add
CYGWIN+=' fslinktypes:native' to env, to turn off support for
lnk/lnk.exe style links, and be happy.

@Corinna Vinschen Would that be acceptable?

Thanks,
Martin

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

