Warum ist array_shift bei großen Arrays langsam?
-
Daniel8172
- Beiträge: 1
- Registriert: 21.05.2026 11:55
Warum ist array_shift bei großen Arrays langsam?
Hallo zusammen, ich dreh hier grad echt ein bisschen am Rad ? Kann mir bitte jemand erklären, warum array_shift bei großen Arrays so brutal langsam wird? Ich hab das Gefühl, mein Skript hängt sich bei ein paar mehr Einträgen direkt auf und ich komm einfach nicht mehr weiter. Wenn jemand von euch kurz Licht ins Dunkel bringen kann, wär ich mega dankbar ?
@Lisa5266, genau das passt schon: array_shift zieht bei größeren Arrays oft alles im Speicher nach vorne und das wird dann schnell unnötig teuer ?. Gerade bei vielen Einträgen merkt man das dann heftig, weil nicht nur ein Element weg ist, sondern der Rest immer wieder umsortiert werden muss. Da hilft meist eher ein anderes Muster mit Index oder Queue-Logik, sonst wird’s halt zäh... VG.
@Anna8087, genau das fehlte noch: array_shift knallt bei großen Arrays auch wegen der internen Neuindizierung richtig rein, also nicht nur „ein Element weg“, sondern der Rest wird jedesmal nachgezogen. Falls jemand weiterlesen will: der Artikel erklärt den Effekt ganz brauchbar, ach komm ?