BFS vs CFS

Yet another тест від мене.

Тестувався час, який затрачується на обчислення перших 30 тисяч членів послідовності A000005 моєю багатопоточною програмкою. Тест написано так, щоб він створював послідовно від 1 до 20 потоків, на кожній ітерації обчислював оті 30 тисяч п’ять разів, а потім усереднював час на поточну ітерацію.

Як бачимо, з BFS рахує набагато швидше. А ще цікаво, що з BFS варто використовувати парну кількість потоків, бо непарний потік (у мене два ядра на проці без гіпертрейдинга) він постійно ганяє з ядра на ядро, і так, мабуть, вносить затримку в обчислення. У CFS із балансуванням навантаження все набагато гірше, тому графік не завжди йде «пилкою».

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

*

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.