« first day (531 days earlier)      last day (2500 days later) » 

2:07 PM
Здравствуйте, вопрос пока что не претендует на ruso, попробую тут. Может кто-нибудь игрался с IOCP? Хотелось бы спросить по поводу этой статьи https://habrahabr.ru/post/59282/.

а именно эти две части "При создании можно указать сколько потоков одновременно смогут работать для этого порта с помощью последнего аргумента. Если указать 0, то будет использовано значение, равное количеству процессоров в системе."
и
"Следующим шагом является создание потоков, которые будут задействованы в пуле. Тут нельзя дать универсального совета. Некоторые говорят, что потоков должно быть в два раза больше про
 
A K
@Qutrix Почему не спросите на самом хабре в комментариях к статье? Сейчас для этого не нужно даже особых прав, как раньше.
Зачем -- чтобы повысить производительность. Цифры сильно зависят от того, кто и как замерял, какие задачи были. Есть рекомендации и (число процессоров) + 1
 
@AK упс, не заметил что уже можно без инвайтов. И давно так? А вообще статье скоро 2 года, не думаю что комментарий вообще заметят
 
A K
@Qutrix Я в таких случаях пишу автору статьи в личку. Вы не поверите -- почти все отвечают, кроме тех, кого забрало НЛО
 
@AK так как повыситься производительность, если я создам количество рабочих потоков = число процессоров + 1? Ведь порт будет ограничивать количество одновременно рабочих до количества процессоров (если стоит 0 в последнем аргументе, само собой). Я к тому, что в этом случае не будет ситуации, когда ВСЕ рабочие потоки работают
 
A K
@Qutrix вы подразумеваете "благодаря чему повысится"? не уверен, что отвечу правильно, поэтому лучше промолчу
 
2:21 PM
@AK НЕТ, подразумеваю, что нет смысла же ведь создавать количество рабочих потоков больше, чем указано в CreateIoCompletionPort(INVALID_HANDLE_VALUE,0,0,0) последним аргументом
@AK а автор создает ограничение в виде количества ОДНОВРЕМЕННО работающих потоков, а потом размышляет на тему сколько рабочих потоков ему создавать: n или 2*n
@AK если создать 2*n рабочих потоков, а ограничение стоит в n одновременно работающих, зачем создавать рабочие потоки, которые одновременно работать все равно не смогут?
@AK Вы поняли вопрос?
@AK к сожалению автор этой статьи заходил на хабру аж в 2013(
 

« first day (531 days earlier)      last day (2500 days later) »