Für den Börsenhandel habe ich eine bereits funktionierende Ringliste erstellt. Es kommen unzyklisch bis zu 100 Werte in der Sekunde. Ein Zeiger zeigt immer auf den aktuell zu schreibenden Index. Die Liste soll immer eine minimale und maximale Grösse einhalten. Die Grösse wird zur Laufzeit ermittelt und kann bis 100 000 Elemente beinhalten. Gelöscht oder hinzugefügt werden Elemente nur, wenn der Zeiger auf das letzte Element zeigt. Für jeden ankommenden Kurs wird in die äussere Liste eine innere Liste geschrieben, welche Zeit, Kurs und weitere Parameter beinhaltet.
Ich möchte aus dieser Ringliste eine Teilliste bestimmter Elemente der inneren Liste meinem matplotlib-Diagramm direkt übergeben. Der beste Ansatz wäre slicing gewesen. Listen unterstützen aber kein slicing der äusseren Liste.
Numpy unterstützt aber slicing der äusseren Liste. Leider ist es trotzdem ungeeignet, da bei jeder Änderung das Feld kopiert wird.
Die Performanz habe ich noch nicht gemessen. Dennoch ist das ständige Kopieren ein Ausschlusskriterium um numpy zu verwenden. Als Lösung wollte ich für das Diagramm eine zweite eindimensionale Liste erstellen, welche dann an das Diagramm übergeben wird.