Насколько дороги темы? - PullRequest
       2

Насколько дороги темы?

1 голос
/ 13 декабря 2010

Насколько дорого стоит собственная нить ОС?ОС хоста выделяет некоторую виртуальную память для стека потоков и немного памяти ядра для структур управления потоками.Я что-то упустил?

1 Ответ

4 голосов
/ 13 декабря 2010

Это может увеличить рабочую нагрузку планировщика, в зависимости от того, насколько занят поток, и типа планировщика.Он также будет выделять физическую память для первой страницы стека.

Во многих случаях основной ценой является загрязнение кэша.Наличие слишком большого количества активных параллельных задач снижает производительность, потому что слишком много потоков совместно используют слишком мало кэша, и они просто продолжают пихать друг друга обратно в основную память, что является гораздо худшим унижением для потока, чем просто перевод в режим сна, так как спитвлечет за собой одно наказание в несколько сотен циклов, в то время как извлечение основной памяти приводит к аналогичным издержкам несколько раз в течение одного временного интервала, а также означает пропорционально большее переключение контекста, поскольку за этот временной интервал выполняется намного меньше работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...