#!perl
use strict;
use warnings;
use Benchmark qw(cmpthese timethese);
use File::Basename;
use PerlIO::Util;
print "PerlIO::Util/$PerlIO::Util::VERSION\n\n";
my $perlbin = -d '/usr/bin' ? '/usr/bin' : dirname $^X;
my $count = do{
my $n = 0;
open my $dir, '<:dir', $perlbin or die $!;
$n++ while defined(my $d = <$dir>);
$n;
};
print "Number of files: $count\n";
cmpthese timethese -1 => {
layer => sub{
open my $dir, '<:dir', $perlbin or die $!;
chomp while <$dir>;
},
core => sub{
opendir my $dir, $perlbin or die $!;
1 while defined($_ = readdir $dir);
},
};