From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 65897 invoked by alias); 17 Feb 2016 16:21:24 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 65888 invoked by uid 89); 17 Feb 2016 16:21:23 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.0 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=updatedbsh, updatedb.sh, UD:updatedb.sh, wishes X-HELO: sender153-mail.zoho.com Received: from sender153-mail.zoho.com (HELO sender153-mail.zoho.com) (74.201.84.153) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 17 Feb 2016 16:21:22 +0000 Received: from [192.168.11.171] (rrcs-98-103-118-100.central.biz.rr.com [98.103.118.100]) by mx.zohomail.com with SMTPS id 1455726078349334.0524206216179; Wed, 17 Feb 2016 08:21:18 -0800 (PST) Subject: Re: locate and updatedb To: cygwin@cygwin.com References: <56BC940F.6070109@zoho.com> <56BCD05C.2040409@gmail.com> <56BCD414.2010304@zoho.com> <56BD0D87.6030008@gmail.com> <56BF1E4D.5000901@tlinx.org> <6CF2FC1279D0844C9357664DC5A08BA21BD2FA07@msgb09.nih.gov> <56C478E0.70904@zoho.com> <6CF2FC1279D0844C9357664DC5A08BA21BD31EAE@msgb09.nih.gov> From: Byron Boulton Message-ID: <56C49DFD.5060700@zoho.com> Date: Wed, 17 Feb 2016 16:21:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <6CF2FC1279D0844C9357664DC5A08BA21BD31EAE@msgb09.nih.gov> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Zoho-Virus-Status: 1 X-IsSubscribed: yes X-SW-Source: 2016-02/txt/msg00274.txt.bz2 On 2/17/2016 11:00 AM, Buchbinder, Barry (NIH/NIAID) [E] wrote: > Byron Boulton sent the following at Wednesday, February 17, 2016 8:43 AM >> On 2/16/2016 5:55 PM, Buchbinder, Barry (NIH/NIAID) [E] wrote: >>> >>> This is technically OT since this involved a non-cygwin tool. >>> >>> find is slow compared with a non-Cygwin tool, specifically dir (cmd.exe). >>> >>> Compare find with cmd.exe's dir. Note that even with the benefit of >>> caching (compare the 1st and 3rd times), find takes twice as long as dir. >>> Comparing cached times (2nd vs 3rd), dir is 3X faster. >>> >>> $ time cmd /c dir /s /b 'C:\usr' > /dev/null ; \ time find /c/usr > >>> /dev/null ; \ time cmd /c dir /s /b 'C:\usr' > /dev/null >>> >>> real 0m1.326s >>> user 0m0.000s >>> sys 0m0.047s >>> >>> real 0m2.465s >>> user 0m0.280s >>> sys 0m2.184s >>> >>> real 0m0.874s >>> user 0m0.000s >>> sys 0m0.031s >>> >>> (Note: c:\usr has nothing to do with /usr.) >>> >>> Here's how I use dir *in the abstract* for drives C: and D:. (Note: >>> the >>> /a: option of dir lists all files, including hidden ones; /o:n sorts >>> by >>> name.) >>> >>> for D in /c /d >>> do >>> "$(cygpath "${COMSPEC}")" /c dir /s /b /a: /o:n "$(cygpath -w "$D")" >>> done | \ >>> tr -s '\r\n' '\n' | \ >>> cygpath -u -f - | \ >>> sed -e '/^$/d' -e 's,/\+,/,g' \ >>> sort -u \ >>> /usr/libexec/frcode > /tmp/updatedb.tmp chmod --reference >>> /var/locatedb /tmp/updatedb.tmp mv /tmp/updatedb.tmp /var/locatedb >>> >>> What I actually do (attached) is more complicated. My script chooses >>> which directories are scanned, does them in parallel, and prints >>> pretty messages. I get error messages for very long paths (> ~250 >>> bytes). It works well enough for me; YMMV. >> >> Are you using dir in some sort of custom way to build the database >> used by locate? Or are you saying that rather than ever using the find >> command to find files, you use a custom script which uses dir? > > I use dir only to generate the locate database, because scanning the > better part of several disks takes so long. I do not substitute dir for > find for other purposes. One could, but usually locate does what I need, > and when it doesn't, I use find. > > Best wishes, > > - Barry > Disclaimer: Statements made herein are not made on behalf of NIAID. > > -- > Problem reports: http://cygwin.com/problems.html > FAQ: http://cygwin.com/faq/ > Documentation: http://cygwin.com/docs.html > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > locate understands how to read this custom database? If I read you updatedb.sh script properly, it produces a file which is just a sorted text file with one line per file found by updatedb.sh. Byron -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple