[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