From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 42E181F8C1 for ; Sat, 2 May 2020 21:22:10 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] scripts/slrnspool2maildir: don't sort glob() Date: Sat, 2 May 2020 21:22:10 +0000 Message-Id: <20200502212210.18051-1-e@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: glob() sorts alphabetically by default, which doesn't have a useful meaning with many articles. Stop wasting CPU cycles and memory. --- scripts/slrnspool2maildir | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/slrnspool2maildir b/scripts/slrnspool2maildir index 8e444e84..c36de0c9 100755 --- a/scripts/slrnspool2maildir +++ b/scripts/slrnspool2maildir @@ -10,6 +10,7 @@ use strict; use warnings; use Email::Filter; use Email::LocalDelivery; +use File::Glob qw(bsd_glob GLOB_NOSORT); sub usage { "Usage:\n".join('',grep(/\t/, `head -n 12 $0`)) } my $spool = shift @ARGV or die usage(); my $dir = shift @ARGV or die usage(); @@ -21,7 +22,7 @@ foreach my $sub (qw(cur new tmp)) { mkdir $nd or die "mkdir $nd failed: $!\n"; } -foreach my $n (grep(/\d+\z/, glob("$spool/*"))) { +foreach my $n (grep(/\d+\z/, bsd_glob("$spool/*", GLOB_NOSORT))) { if (open my $fh, '<', $n) { my $f = Email::Filter->new(data => do { local $/; <$fh> }); my $s = $f->simple;