Ich benutze numpy, um ein Würfel-Array mit Seiten der Länge 100 zu erstellen, das also 1 Million Einträge enthält. Für jeden der Millionen Einträge füge ich eine 100x100-Matrix ein, deren Einträge aus zufällig generierten Zahlen bestehen. Ich verwende dafür den folgenden Code:
%Vor%Ich habe erwartet, dass dies eine Weile dauert, aber da 10 Milliarden Zufallszahlen generiert werden, bin ich nicht sicher, ob mein Computer überhaupt damit umgehen kann. Wie viel Speicher würde ein solches Array aufnehmen? Würde RAM ein begrenzender Faktor sein, d. H. Wenn mein Computer nicht genug RAM hat, könnte er das Array tatsächlich nicht erzeugen?
Wenn es auch einen effizienteren Code zu implementieren gibt, würde ich mich über Tipps freuen:)
Ein paar Punkte:
cube.dtype
beispielsweise int64
ist und 1.000.000 Elemente enthält, wird 1000000 * 64 / 8 = 8,000,000
bytes (8Mb) benötigt. cube
zu ersetzen, wird element = matrix
einfach die Variable element
überschreiben und die cube
unverändert lassen. Das gleiche gilt für entry = random.rand() * 100
. für den "inneren" Teil Ihrer Funktion, schauen Sie sich das numpy.random Modul an
%Vor%