Wydaje mi się, że mam problem z pamięcią za pomocą numpy array. Poniższy kod jest uruchamiany całymi godzinami:Problem z pamięcią tablicową Numpy
new_data = npy.array([new_x, new_y1, new_y2, new_y3])
private.data = npy.row_stack([private.data, new_data])
gdzie new_x, new_y1, new_y2, new_y3 są pływaki.
Po około 5 godzinach zapisu tych danych co sekundę (ponad 72000 ruchów) program przestaje reagować. To, co myślę, dzieje się, to jakaś operacja ponownego kopiowania i kopiowania, która bagatruje cały proces. Czy ktoś wie, czy tak się dzieje?
Potrzebuję sposobu na zapisanie tych danych bez napotykania problemu spowolnienia. Nie ma możliwości wcześniejszego poznania nawet przybliżonej wielkości tej tablicy. Nie musi koniecznie używać tablicy numpy, ale musi być coś podobnego. Czy ktoś wie o dobrej metodzie?
Dobry pomysł. 'npy.empty' wydaje się bardziej odpowiedni niż' npy.zeros' (i jest prawdopodobnie odrobinę szybszy). – EOL
To jest naprawdę szybkie. Zamknięcie tego w klasie za pomocą metody row_stack byłoby miłe. – EOL
Należy zauważyć, że 'private.data [rowctr] = ...' jest znacznie szybszy niż '[rowctr,:]'. – EOL