Hallo,
Als Anwender erwarte ich, dass auf meinen Klick hin etwas passiert und nicht irgendwann später. Die Zeit zwischen zwei Klicks ist ja nicht nur in diesem Fall abhängig davon, wie lange ich mir ein Bild betrachte, sondern es kommt auch noch die hinzu, die zwischen dem Klick und dem Erscheinen des nächsten Bildes vergeht. Und die sollte gegen Null tendieren. Das erwarte ich als Anwender, sonst klicke ich nochmal, weil ich denke, dass es nicht getroffen hat.
Nun übertreib' mal nicht! Die Zeit für ein push(shift()) oder unshift(pop()) ist unabhängig von der Arraylänge absolut nicht spürbar, wenn das vom Benutzer durch Klicken einzeln ausgelöst wird. Allenfalls mit vielen Schleifendurchläufen könnte man sie spüren.
Es wird hier auch immer angedeutet, dass intern ein Riesenaufwand für's Umschichten der Array-Elemente stattfinden muss. Woher weiß man das? Ich kann mir vorstellen, das intern sehr optimierter Code läuft. push(shift()) etc. ist jedenfalls recht schnell, habe dazu schon Messungen durchgeführt in FF und Opera. Der IE tut sich vermutlich mit Arrays noch immer schwer...
Gruß, Don P