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 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 Content-Disposition: inline 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 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" 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. > > > > > > > > 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