Get rid of Path::Class ( that *does* feel good )
This was a rather long journey (I've been meaning to do this since ~2013).
As everything else it turned out more complex than I anticipated. Notably
due to having to implement from semi-scratch things that a dev should usually
never worry about >:( Just look at the amount of stuff one can't reasonably
trust these days (pay attention to the comments):
git show
5d54c117 | perl -ne 'print if 155..304' | less
git show
358a3aa7 | perl -ne 'print if 407..453' | less
There is a tangible difference in the smoke times due to a leaner set of deps
(though not as big as one would hope... yet). Sample timings as follows:
for n in $(seq 26); do
dbic_trv_diffable() {
perl -0777 -n -E '
print ( map { "$ENV{cur}: $_\n" } map { split /\r?\n/, $_ }
$_ =~ /(^TRAVIS_PERL_VERSION.+)/m,
$_ =~ / \QSetting environment variables\E .+? (?:\r?\n)+ (.+?) (?: \r?\n){2} /xms,
$_ =~ /(^.*Configuration phase seems to have taken.*)/m,
);
say (
$_ =~ /(^[^\n]*?List of loadable modules .+?)^[^\n]*?List of loadable modules/ms
);
'
}
x=$((
112987257 + $n)) &&\
y=$((
113113497 + $n)) &&\
echo -e "$x => $y\n========\n" &&\
diff -U0 \
<( wget -qO- s3.amazonaws.com/archive.travis-ci.org/jobs/$x/log.txt | \
cur=$x dbic_trv_diffable )\
<( wget -qO- s3.amazonaws.com/archive.travis-ci.org/jobs/$y/log.txt | \
cur=$y dbic_trv_diffable )
done | less
P.S. The above is hideous, yes, but you can run it in your terminal *directly*