Erros de memória e limites de lista?
Preciso produzir matrizes grandes e grandes (muito) (cadeias de Markov) para fins científicos. Realizo o cálculo que coloquei em uma lista de 20301 elementos (= uma linha da minha matriz). Preciso de todos esses dados na memória para prosseguir na próxima etapa do Markov, mas posso armazená-los em outro local (por exemplo, arquivo), se necessário, mesmo que isso diminua a velocidade da minha cadeia de Markov. Meu computador (laboratório científico): Bi-xenon 6 núcleos / 12 roscas cada, 12 GB de memória, SO: win64
Traceback (most recent call last):
File "my_file.py", line 247, in <module>
ListTemp.append(calculus)
MemoryError
Exemplo dos resultados do cálculo: 9.233747520008198e-102 (sim, ultrapassou 1/9000)
O erro é gerado ao armazenar o 19766 ° elemento:
ListTemp[19766]
1.4509421012263216e-103
Se eu for mais longe
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
ListTemp[19767]
IndexError: list index out of range
Portanto, esta lista teve um erro de memória no loop 1976
QuestõesExiste um limite de memória para uma lista? É um "limite por lista" ou "limite global por script"?
Como contornar esses limites? Alguma possibilidade em mente?
Vai ajudar a usar numpy, python64? Quais são os limites de memória com eles? E quanto a outros idiomas?