Каковы преимущества bfs перед cfs и есть ли какие-либо тесты, чтобы увидеть, есть ли реальный прирост производительности?
Существует отличный PDF документ здесь , который объясняет подробно в различиях. Он также выполняет несколько тестов, которые показывают на графиках, как оба ведут себя в определенных условиях.
Вот небольшой документ от создателя BFS: http://ck.kolivas.org/patches/bfs/bfs-faq.txt о том, почему он создал этот планировщик.
Но основные отличия:
BFS лучше подходит для интерактивных задач, которые блокируют ввод-вывод или пользовательский ввод.
BFS, как правило, немного быстрее, но немного более непоследовательная
BFS в приложениях с низкой задержкой покажет значительное улучшение по сравнению с CFS (например, в видеоприложениях).
BFS имеет гораздо меньше «всплесков» в использовании процессора
Как правило, CFS является более последовательным для обеспечения стабильной производительности.
CFS лучше подходит для пакетной обработки с привязкой к процессору.
CFS в задачах
с большим количеством процессоров + производительность нескольких задач будет выше, чем в BFS. В CFS больше всплесков, чем в BFS, но он работает более справедливо между задачами.
Для обычного пользователя BFS может дать «лучшую» производительность, но она даст меньшую производительность, если вы выполняете много пакетных процессов.