delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2022/03/11/12:39:02

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0EBAE3858C3A
Authentication-Results: sourceware.org;
dmarc=none (p=none dis=none) header.from=spocom.com
Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=spocom.com
DomainKey-Signature: a=rsa-sha1; c=nofws; q=dns; d=spocom.com; s=mail;
h=received:date:from:to:subject:message-id:mail-followup-to
:references:mime-version:content-type:content-disposition
:in-reply-to:x-operating-system:user-agent;
b=ojYfksRn4p02JyMZiQt7PFsHY8t/QZDT0fqSrZ00C4j1IXYQ0dt+KK15pt6GT/ild
U63hzdnlpuBEbLheyivEA==
Date: Fri, 11 Mar 2022 09:39:10 -0800
From: Gary Johnson <garyjohn AT spocom DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Bash runs my vim slower than Cygwin's vim
Message-ID: <20220311173910.GB10070@phoenix>
Mail-Followup-To: cygwin AT cygwin DOT com
References: <20220311005540 DOT GB5869 AT phoenix>
<20220311090306 DOT mei46daorlpgorym AT lucy DOT dinwoodie DOT org>
MIME-Version: 1.0
In-Reply-To: <20220311090306.mei46daorlpgorym@lucy.dinwoodie.org>
X-Operating-System: Linux 2.6.32-74-generic GNU/Linux
User-Agent: Mutt/1.5.20 (2009-06-14)
X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, SPF_HELO_NONE, SPF_PASS, TXREP,
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

On 2022-03-11, Adam Dinwoodie wrote:
> On Thu, Mar 10, 2022 at 04:55:40PM -0800, Gary Johnson wrote:
> > I build my own copy of Vim for the Cygwin terminal from the source
> > at https://github.com/vim/vim.git.  Lately, I've noticed the startup
> > time getting slower, so I investigated.  One of the things
> > I discovered was this difference between the run times of the
> > official Cygwin vim package and the vim I built myself.  Both are
> > version 8.2.4372 and built using the same configuration and compiler
> > flags except for some options such as Ruby that I don't have support
> > for on my system.
> > 
> > <snip>
> > 
> > So, does anyone know why is takes so much longer for bash to run the
> > vim I built than the official Cygwin vim?  More importantly, how do
> > I fix this?
> 
> There are a few differences that jump to mind between the Cygwin
> packaged Vim and your locally built Vim.  This isn't my area of
> expertise by a long shot, but my guess would be it's one of these:

Thanks for taking a look.

> - Cygwin packages built using Cygport and packaged for release will have
>   the binaries stripped, removing debug symbols and the like and
>   separating them into a different -debug package.  That means that the
>   binaries that are loaded for day-to-day use are smaller, and may well
>   mean they're faster too.

The Cygwin vim was built with -ggdb, but I didn't look for strip and
Cygwin's file doesn't report whether or not binaries are stripped--
it probably can't determine that.  I'll try stripping mine.

> - Binaries installed by Cygwin setup will get automatically added to
>   Cygwin's rebase database.  I don't think that would help here --
>   problems with rebase normally manifest as fork failures, not just
>   slowness -- but it's another difference that seemed like it might be
>   relevant.
> 
> - Cygwin's Vim has a handful of patches.  I've just had a quick look and
>   none of them seem obviously likely to make a significant perf
>   difference to me, but it was only a quick look and see above re lack
>   of expertise :)

I looked at those, too, and didn't see anything that I thought would
cause a performance issue, either.

> I suspect the best way to investigate this further will be to try to
> narrow down the possible differences between your build and the official
> Cygwin build.  To do that, I'd probably start with getting the source
> for the official Cygwin build, compiling it using Cygport (`cygport
> vim.cygport prep compile install package`), then "installing" it as if
> it were a regular Cygwin package (`tar -xaf vim-*/dist/vim/vim-*.tar.*
> -C /` is close enough for most purposes).

I thought about that, too, but didn't know how to do it and hadn't
waded into the cygport docs.  Thanks for the instructions.

If the problem is due to a difference in the way I built my version,
it appears from my strace of bash that it happens in the code that
precedes vim's main().  I don't know what that would be.  Perhaps it
does have something to do with preparing the program for debugging.

Regards,
Gary


-- 
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019