#!/usr/bin/perl
use strict;
use warnings;
use Time::HiRes qw(gettimeofday tv_interval);
my $testdir = $ARGV[0];
my @filelist;
# Code example taken from Time::HiRes documentation
opendir(D, $testdir) or die $!;
my $t0 = [gettimeofday];
@filelist = readdir(D) or die $!;
my $t1 = [gettimeofday];
closedir D;
my $t0_t1 = tv_interval $t0, $t1;
print q{Scan time for directory },
$testdir,
q{ : },
$t0_t1,
qq{ seconds\n};
print q{Total entries in directory },
$testdir,
q{ : },
scalar @filelist,
qq{\n};
Example output:
$ perl readdir-test.pl .
Scan time for directory . : 3.5e-05 seconds
Total entries in directory . : 4
$ perl readdir-test.pl test/
Scan time for directory test/ : 0.113722 seconds
Total entries in directory test/ : 68115
$ perl readdir-test.pl test2/
Scan time for directory test2/ : 1.475231 seconds
Total entries in directory test2/ : 412483
HTH.
Updated: 14-Aug-2007
Added example for directory test/ containing 412483 entries. |