More optimizations. Progress meter also
This commit is contained in:
parent
b2464a7495
commit
7016c147e4
3 changed files with 32 additions and 12 deletions
|
@ -5,13 +5,4 @@ use 5.24.0;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use Storable;
|
use Storable;
|
||||||
#$Data::Dumper::Terse = 1;
|
#$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])->%*)]);
|
print Dumper([keys ((retrieve $ARGV[0])->%*)]);
|
||||||
|
|
|
@ -22,7 +22,7 @@ sub remove_imc {
|
||||||
}
|
}
|
||||||
|
|
||||||
our $last_dep = time();
|
our $last_dep = time();
|
||||||
our @total_deps = ();
|
our %total_deps = ();
|
||||||
|
|
||||||
sub dep_order {
|
sub dep_order {
|
||||||
my $module = shift;
|
my $module = shift;
|
||||||
|
@ -38,8 +38,8 @@ sub dep_order {
|
||||||
}
|
}
|
||||||
|
|
||||||
next if (Module::_is_banned($dep->name));
|
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
|
next if ($total_deps{$dep->dist}); # skip it if we've already added this to the total deps
|
||||||
push @total_deps, $dep->dist;
|
$total_deps{$dep->dist} = 1;
|
||||||
push @orders, dep_order($dep, $level+1);
|
push @orders, dep_order($dep, $level+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
29
progress.pl
Executable file
29
progress.pl
Executable 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;
|
||||||
|
|
||||||
|
};
|
Loading…
Add table
Reference in a new issue