<div>Qual a demanda em que os arquivos são gerados ?</div><div><br></div><div>É possivel trabalhar com subdiretórios (tipo mini-CPAN) no momento de gerar os arquivos ?</div><div><br></div><div>Recentemente fiz isso em um projeto que são gerados 15k ~ 30k arquivos/dia, com picos de 100k e foi tranquilo.</div>

<div>Quebrei em ddmmyyyy/HH/min, se apertasse mais iria para ddmmyyyy/HH/min/seg. </div><div>Mas depende em qual demanda os arquivos são gerados.</div><div><br></div><div>[]s,<br><br><div>@_marcioferreira</div><div>Marcio Ferreira</div>

<div><a href="http://marciodesouzaferreira.blogspot.com/" target="_blank">marciodesouzaferreira.blogspot.com</a><br><br></div><div><span style="font-family:sans-serif;line-height:16px"><span style="font-size:x-small">"<a style="text-decoration:none"><font color="#000000">Perl</font></a> lives as the 'toolbox for Unix' "</span></span></div>

<br>
<br><br><div class="gmail_quote">2011/7/26 Andre Carneiro <span dir="ltr"><<a href="mailto:andregarciacarneiro@gmail.com">andregarciacarneiro@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Salve!<br><br>Tenho que ordenar 3 milhões de arquivos de um diretório(e isso tende a aumentar). Mesmo que eu mova parte dos arquivos para outros diretórios, ainda assim vai sobrar arquivo pra caramba.<br><br>Desse modo, eu pesquisei no perlmonks e outros lugares, e achei esse código abaixo que até resolveria, se não fosse o problema de memória, pois usa uma quantidade de memória proporcional a quantidade de arquivos.<br>


<br><br><code><br><br>#!/usr/bin/perl <br><br>use strict;<br>use warnings;<br>use DateTime;<br><br>my $start_time = time;<br><br>my %times = ();<br><br>opendir DIR, $ARGV[0] or die "Couldn't open $ARGV[0]; $!\n";<br>


<br>my @sorted =<br>sort {<br>    $times{$b} cmp $times{$a}; # Was cmp D'oh! Thanks [dws]<br>}<br>map {<br>$times{$_} = (stat $_)[9]; $_;<br>} readdir DIR;<br><br>closedir DIR or warn "Couldn't close $ARGV[0]; $!\n";<br>


local $" = $/;<br>print "@sorted\n";<br><br>my $end_time = time;<br><br>my $enlapsed_time = $end_time - $start_time;<br><br>my $dt = DateTime->from_epoch( epoch => $enlapsed_time );<br><br>my $etime = $dt->hms(':');<br>


<br>print "\nCrapy time: $etime\n";<br><br clear="all"></code><br><br>Alguém conhece um algoritmo onde, sei lá, eu pudesse ordernar parte desses arquivos  e de depois juntar tudo de alguma forma, ou algo desse tipo?<br>


<br>Thx!<br><font color="#888888"><br><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>(11)82907780<br>
</font><br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br></div>