More optimizations. Progress meter also

This commit is contained in:
Your Name 2017-03-30 19:51:00 -04:00
parent b2464a7495
commit 7016c147e4
3 changed files with 32 additions and 12 deletions

View file

@ -5,13 +5,4 @@ use 5.24.0;
use Data::Dumper;
use Storable;
#$Data::Dumper::Terse = 1;
my $cache = retrive $ARGV[0];
for my $key (keys $cache->%*) {
if ($key =~ /OurNet/) {
delete $cache->{$key};
}
}
print Dumper([keys ((retrieve $ARGV[0])->%*)]);

View file

@ -22,7 +22,7 @@ sub remove_imc {
}
our $last_dep = time();
our @total_deps = ();
our %total_deps = ();
sub dep_order {
my $module = shift;
@ -38,8 +38,8 @@ sub dep_order {
}
next if (Module::_is_banned($dep->name));
next if ($dep->dist ~~ @total_deps); # skip it if we've already added this to the total deps
push @total_deps, $dep->dist;
next if ($total_deps{$dep->dist}); # skip it if we've already added this to the total deps
$total_deps{$dep->dist} = 1;
push @orders, dep_order($dep, $level+1);
}

29
progress.pl Executable file
View file

@ -0,0 +1,29 @@
#!/usr/bin/env perl
use lib './lib';
use strict;
use Dist;
use Storable;
use Time::HiRes qw/time/;
use DateTime;
my $dists = 0+%Dist::dist_to_mod;
my $start_time = time();
my $start_dt = DateTime->now();
my $cache = retrieve 'modcache.stor';
my $first_count = 0+$cache->%*;
while (1) {
sleep(2);
my $cache = eval {retrieve 'modcache.stor'};
next unless $cache;
my $count = 0+$cache->%*;
my $rate = ($count-$first_count)/(time()-$start_time);
my $tocomplete = ($dists-$count)/($rate + 0.0000000001);
my $final_dt = $start_dt->clone()->add(seconds => $tocomplete);
printf "%d/%d [%02.2f%%] %0.2f/s %s\n", $count, $dists, 100*$count/$dists, $rate, $final_dt->iso8601;
};