Antworten:
Es gibt ein ausgezeichnetes PDF - Dokument hier , was die Unterschiede im Detail erklärt. Es werden auch mehrere Tests durchgeführt, die in Diagrammen zeigen, wie sich beide unter bestimmten Bedingungen verhalten.
Hier ist ein kleines Dokument des Erstellers von BFS: http://ck.kolivas.org/patches/bfs/bfs-faq.txt, warum er diesen Scheduler erstellt hat.
Die Hauptunterschiede sind jedoch:
BFS ist besser für interaktive Aufgaben, die E / A- oder Benutzereingaben blockieren.
BFS ist im Allgemeinen etwas schneller, aber ein wenig inkonsistenter.
BFS in Apps mit geringer Latenz zeigt eine große Verbesserung gegenüber CFS (wie Video-Apps).
BFS hat viel weniger "Spikes". in der CPU-Nutzung
CFS ist im Allgemeinen konsistenter für eine konsistente Leistung
CFS ist besser für die Stapelverarbeitung, bei der es sich um CPU-gebundenes
CFS bei Multi-CPU-intensiven Aufgaben handelt. Mehrere Aufgaben haben eine bessere Leistung als BFS.
CFS hat mehr Spitzen als BFS
Für den normalen Benutzer bietet BFS möglicherweise eine "bessere" Leistung, jedoch eine geringere Leistung, wenn Sie viele Batch-Prozesse ausführen.