From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22222 invoked by alias); 8 Sep 2016 15:42:42 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 21852 Received: (qmail 18627 invoked from network); 8 Sep 2016 15:42:42 -0000 X-Qmail-Scanner-Diagnostics: from mail-qk0-f174.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.220.174):SA:0(0.0/5.0):. Processed in 0.369263 secs); 08 Sep 2016 15:42:42 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,SPF_PASS, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: sgniazdowski@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.220.174 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=2CvPn8xyxVgId666pK07cz6WSYdMHFV3irFDaHfRCaA=; b=WUkeAOhTKN53P/vmvnKZy49llhJ8Yx8SRvjhd1AWWFCpFeExR/FAbXTsdiOvAy6ARp d2i2PJ1hfJwPSvwWgEBzJF0Cc4vg4MnbWDwoNBUe+gF5XMkrrdJB/QSe8QzEoKwiFHG6 qJiJONQ5ZImgtoMbhwS8kyRKJK9fdAOGHuQSlLlv5RvTd9rdOHBRL9VXXObge/UsSMMQ Er8IxrncBFmO2HMTK5RM7VhezhVNwXdECYeciW7sLX4096dM6Xt4ogNoKJycp3OMKNXZ BcoXN5c7tFHbFxa0k+wP+dxTqcfaLjVjpUaEI5jk9Oc0rkE7487zuym4RgDoERFSUAQu ybKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=2CvPn8xyxVgId666pK07cz6WSYdMHFV3irFDaHfRCaA=; b=DSF4ulDRJVFJM46TYMJ0pwCVcXtxROr9r1YUd6ygj9gLappxf2Tvw87C0OcFgHzwz5 sSRVn2q7CsRsP5dHD3wjEdf2x/BN2nkKEG0NCKXm+JmZCzCkl5yiwuMz5UwC6PrwHmyJ DKQFffxxmpCteWdH0CwvQe02aSHyHNLeb+/5+aAXDuIzl/aXlFnXzfRCRo3PuKAyo1/R Kn43OxOy3IukF4p9kj5JIO2k9rcp0rmBZWRUVPRN/miDW15vggQ1KCZL6txcd6/lvvtV Yc3h5tXzJiG3ZXzS8sBFU15hZ/NLOAptxNpfCIC6LcC6/B5aSA9EoLjCWPuvWEUEOz8V 2R8Q== X-Gm-Message-State: AE9vXwMwv3K3sQoGMWRfAKcTWbBPIB4yokBnjdZLxccKUeL7e9JJ0gYnTQ7rVQi1jaK9D2vStdFHETfKku8mBQ== X-Received: by 10.55.72.196 with SMTP id v187mr304825qka.37.1473349015787; Thu, 08 Sep 2016 08:36:55 -0700 (PDT) MIME-Version: 1.0 From: Sebastian Gniazdowski Date: Thu, 8 Sep 2016 17:36:35 +0200 Message-ID: Subject: Fastest way to count # of files? To: Zsh Users Content-Type: text/plain; charset=UTF-8 Hello, I'm trying to protect from slow NFS hierarchies and large directory tries. This is fast: % typeset -F SECONDS; myst=$SECONDS; arr=( *rarestring(NY1) ); echo $(( (SECONDS - myst) * 1000 )) 80.286000000342028 this is slow: % typeset -F SECONDS; myst=$SECONDS; arr=( * ); echo ${#arr}; echo $(( (SECONDS - myst) * 1000 )) 1154.1240000005928 First code obviously has to read every file in directory. But it's doing this fast. The second code reads the whole directory too, but it's slow. First code doesn't provide way to determine # of files read. Is there anything between these two? Something that doesn't store files, but counts them? Best regards, Sebastian Gniazdowski