Przechowywanie obiektów Pythona na liście Pythona w porównaniu z tablicą Numpy o stałej długości

W pracy z bioinformatyką rozważałem konsekwencje przechowywania instancji obiektów w tablicy Numpy, a nie na liście Pythona, ale we wszystkich testach, które przeprowadziłem, wydajność była gorsza w każdym przypadku. Używam CPython. Czy ktoś wie dlaczego?

Konkretnie:

Jaki jest wpływ wydajności na użycie macierzy o stałej długościnumpy.ndarray(dtype=object) a zwykła lista Pythona? Wstępne testy, które wykonałem, pokazały, że dostęp do elementów tablicy Numpy był wolniejszy niż iteracja poprzez listę Pythona, szczególnie przy użyciu metod obiektowych.Dlaczego tworzenie instancji obiektów jest szybsze przy użyciu rozumienia listy, takiego jak[ X() for i in range(n) ] zamiastnumpy.empty(size=n, dtype=object)?Jaki jest narzut pamięci każdego z nich? Nie byłem w stanie tego przetestować. Moje zajęcia intensywnie korzystają__slots__, jeśli ma to jakiś wpływ.

questionAnswers(1)

yourAnswerToTheQuestion