¿Cuáles son las ventajas de bfs sobre cfs y hay algún punto de referencia para ver si hay ganancias reales de rendimiento?
Hay un excelente documento PDF aquí , lo que explica en detalle las diferencias. También realiza varias pruebas que muestran en gráficos cómo ambos se comportan bajo ciertas condiciones.
Aquí hay un pequeño documento del creador de BFS: http://ck.kolivas.org/patches/bfs/bfs-faq.txt sobre por qué creó este programador.
Pero las principales diferencias son:
BFS es mejor para tareas interactivas que bloquean la E / S o la entrada del usuario
BFS es generalmente un poco más rápido pero un poco más inconsistente
BFS en aplicaciones de baja latencia mostrará una gran mejora sobre CFS (como aplicaciones de video)
BFS tiene mucho menos "picos" en uso de la CPU
CFS es generalmente más consistente para un rendimiento consistente
CFS es mejor para el procesamiento por lotes que es
CFS enlazado a la CPU en tareas intensivas de múltiples CPU + múltiples tareas tendrán un mejor rendimiento que BFS
CFS tiene más picos que BFS pero funciona para ser más justo entre tareas
Para el usuario normal, BFS podría ofrecer un "mejor" rendimiento, pero ofrecerá menos rendimiento si realiza muchos procesos por lotes.