Es ist offensichtlich, dass dieser Algorithmus optimal hinsichtlich der durchschnittlichen Wartezeit im rechenbereiten Zustand ist. Das Problem bei diesem Algorithmus ist allerdings, dass es in der Regel vor Beginn des Prozesses nicht bekannt ist, wieviel Zeit er benötigen wird. Das bedeutet, dass für jeden Prozess eine Schätzwert für die nächste benötigte Rechenzeit bestimmt werden muss.
Im interaktiven Betrieb (Kommandoaufruf) kann man die Ausführzeit vorhergehender Aufruf betrachten und mit einer bestimmten Gewichtung in den Schätzwert eingehen lassen.
Dieser Algorithmus kann auch als preemtive Variante betrieben werden. Immer, wenn ein neuer Prozess zur Menge der rechenbereiten Prozesse hinzugefügt wird, wird überprüft, ob seine erwartete nächste Rechenzeit möglichweise niedriger ist, als die des derzeit im rechenden Zustand befindlichen Prozesses. Wenn sie niedriger ist, so werden die Prozesse ausgetauscht.