Acho que isso depende do sistema operacional. Por exemplo se vc tem overcommit desligado o malloc (usado internamente pelo interpretador) nunca vai dar falta de memória é provavelmente vc vai fazer swap de memória em disco.
Se vc tem menos memória que o necessário tens que pensar em alternativas como salvar em disco, banco de dados, etc. Se o resultado é previsível e imutável talvez vc poderia substituir o array por uma função + cache. Mas testa primeiro na sua máquina e vê o que dá. Em 15/04/2014 13:33, "Aureliano Guedes" <[email protected]> escreveu: > Ola, monges. > > Gostaria de saber quais opções eu tenho para gravar um numero muito grande > de informações em um array. > > Exemplo, imagine que eu tenha uma rotina tosca como essa: > > sub multiplicador{ > my @ini = (100..999); > my $fim = 999; > my @memo > while ($fim != 100){ > foreach (@ini){ > my $m = $_ * $fim; > push (@memo, $m); > } > $fim--; > } > } > > Essa rotina multiplica 100 * 100 ... 100 * 999, depois 101 * 100 ... 101 * > 999 ate 999*999. > Os resultados de cada multiplicação são jogados para um array. Ou seja, um > array grande pra caramba. > > Como faria para que @memo fosse capaz de guardar todos os valores? > > Qual é o limite de dados que posso normalmente guardar em um array? > > Obrigado, > > _______________________________________________ > Rio-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/rio-pm >
_______________________________________________ Rio-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/rio-pm
