Quais são as vantagens do bfs sobre o cfs e existem benchmarks para ver se há algum ganho real de desempenho?
Há um excelente documento PDF aqui , que explica em detalhes as diferenças. Também realiza vários testes que mostram em gráficos como ambos se comportam sob determinadas condições.
Aqui está um pequeno documento do criador do BFS: http://ck.kolivas.org/patches/bfs/bfs-faq.txt sobre o motivo de ele ter criado esse agendador.
Mas as principais diferenças são:
O BFS é melhor para tarefas interativas que bloqueiam E / S ou na entrada do usuário. O
BFS geralmente é um pouco mais rápido, mas um pouco mais inconsistente
em aplicativos de baixa latência mostrará uma grande melhoria em relação ao CFS (como aplicativos de vídeo) O
BFS tem muito menos "picos" no uso da CPU
O CFS é geralmente mais consistente para um desempenho consistente O
CFS é melhor para processamento em lote que é vinculado à CPU do
CFS em tarefas intensivas com várias CPUs + várias tarefas terão melhor desempenho que o BFS O
CFS tem mais picos do que o BFS, mas trabalha para ser mais justo entre as tarefas
Para o usuário normal, o BFS pode oferecer um desempenho "melhor", mas terá menos desempenho se você realizar muitos processos em lote.