Używam numpy do utworzenia tablicy kostki o bokach o długości 100, zawierającej łącznie 1 milion wpisów. Dla każdego z milionów wpisów wstawiam macierz 100x100, której wpisy składają się z losowo generowanych liczb. Używam następujący kod, aby to zrobić:Ile pamięci w tablicy numpy? Czy pamięć RAM jest czynnikiem ograniczającym?
import random
from numpy import *
cube = arange(1000000).reshape(100,100,100)
for element in cube.flat:
matrix = arange(10000).reshape(100,100)
for entry in matrix.flat:
entry = random.random()*100
element = matrix
Spodziewałem się to trochę potrwać, ale jest generowany 10 miliardów liczb losowych, nie jestem pewien, że mój komputer może nawet poradzić. Ile pamięci zajmie taka tablica? Czy RAM byłby czynnikiem ograniczającym, tj. Jeśli mój komputer nie ma wystarczającej ilości pamięci RAM, czy może nie wygenerować tablicy?
Ponadto, jeśli istnieje bardziej efektywne wdrożenie tego kodu, byłbym wdzięczny wskazówki :)
Zakładając 'double' precyzję, przy 8 bajtów każdy, jeśli naprawdę próbują przechowywać 10 miliardów, czyli 80 GB. Jeśli musisz zapytać, twój komputer nie ma wystarczającej ilości pamięci. To powiedziawszy, wygląda na to, że tworzysz je wszystkie, ale nie przechowujesz ich, więc powinieneś mieć się dobrze. – Gabe