[Rio-pm] [DUVIDA] Array muito longo
Tiago Peczenyj
tiago.peczenyj em gmail.com
Terça Abril 15 09:43:05 PDT 2014
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" <guedes_1000 em hotmail.com> 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
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20140415/f1b2f45f/attachment.html>
Mais detalhes sobre a lista de discussão Rio-pm