Size: a a a

2021 July 02

VM

Vladimir M88 in C++ Together 2.0
ну как бы да, и как бы нет
источник

RM

Roy Mustang in C++ Together 2.0
и уже она создает поведение потоков виртуально
источник

RM

Roy Mustang in C++ Together 2.0
с помощью планировщика
источник

VM

Vladimir M88 in C++ Together 2.0
они зарезервированы ОС, и она по ним распределеает
источник

RM

Roy Mustang in C++ Together 2.0
Ок, получается все же есть смысл использовать SetThreadAffinityMask
источник

VM

Vladimir M88 in C++ Together 2.0
ваще, я видел статью как на линухе убирали резервирование в планировщике на одно из ядер
источник

RM

Roy Mustang in C++ Together 2.0
Тем самым мы перекинем наш виртуальный поток в другой поток ядра
источник

VM

Vladimir M88 in C++ Together 2.0
что бы получить одинаковую производительность
источник

VM

Vladimir M88 in C++ Together 2.0
в любой момент времени
источник

VM

Vladimir M88 in C++ Together 2.0
на этом конкретном ядре
источник

VM

Vladimir M88 in C++ Together 2.0
это было в статье про тестовые машины яндекс контеста
источник

RM

Roy Mustang in C++ Together 2.0
пфф
источник

RM

Roy Mustang in C++ Together 2.0
Какая та хуйня
источник

RM

Roy Mustang in C++ Together 2.0
В тех же виндовс серверах все ядра изначально грузятся ОСью
источник

RM

Roy Mustang in C++ Together 2.0
Получается, что действительно хороший перф можно получить на самой голой ОСи
источник

RM

Roy Mustang in C++ Together 2.0
Где кол-во задач минимизировано
источник

VD

Vlad Doc in C++ Together 2.0
Это не то
источник

VM

Vladimir M88 in C++ Together 2.0
нет
источник

VD

Vlad Doc in C++ Together 2.0
Ты просто указываешь процессоры на которые раскидывать твои потоки
источник

VM

Vladimir M88 in C++ Together 2.0
там реально запрещали планировщику линуха пользоваться частью ядер
источник