172 похожих чатов

Вопрос к сеньорам, разъясните пожалуйста: Почему подавляющее большинство существующего пользовательского ПО,

умеющего в многопоточность, по умолчанию имеет фиксированный потолок потоков, вместо автоопределения? Система же без вопросов отдает число процессорных потоков программе, разве нет?
Может в этом есть какой-то смысл? За полтора года эксплуатации системы с 128 потоками, сталкиваюсь с необходимостью править настройки или конфиги почти с каждым софтом. И хорошо если потолок не жестко фиксирован.
P.s. В серверном ПО, где лицензии приобретаются на число потоков - без вопросов.

19 ответов

10 просмотров

А можно примеры софта?

В растопоектах с таким сталкиваться не приходилось, обычно по дефолту берётся количество ядер (rayon, crossbeam, tokio)

Cooler3D- Автор вопроса

Очень сложно сделать опердень которая будет предсказуемо скейлиться на произвольное количество процессов.

Cooler3D
Не число логических потоков?

Что такое "логические потоки"? Обычно речь идёт о логических ядрах

Cooler3D- Автор вопроса
Mikola Summer Duck
Очень сложно сделать опердень которая будет предск...

Почти весь рассматриваемый мной софт прекрасно распределяется хоть на сотни потоков. К софту, где это невозможно, претензий не имею.

Cooler3D- Автор вопроса
Mikola Summer Duck
Определи "прекрасно"

С КПД 70+% на многопоточность

Cooler3D
С КПД 70+% на многопоточность

Он не фиксированный обычно

Cooler3D- Автор вопроса
Mikola Summer Duck
Он не фиксированный обычно

Я знаю. Я о том, что это для меня = "прекрасно".

Cooler3D
Поток выполнения, Thread

Количество потоков никак не связано с количеством процессоров/ядер/нума нод и прочее. Поэтому нельзя спросить у операционной системы "сколько доступно потоков?" (на самом деле можно, но получишь ответ "столько-то тысяч/миллионов"), зато можно спросить "сколько доступно физических ядер?" и "сколько доступно логических ядер?"

Cooler3D- Автор вопроса
Денис
Количество потоков никак не связано с количеством ...

О, точно, пардон, имел ввиду логические ядра.

Cooler3D
О, точно, пардон, имел ввиду логические ядра.

Тогда всё хорошо, распространённые в расте фреймворки, использующие многопоточность, именно это и используют в качестве количества потоков по умолчанию в своих тредпулах :)

Cooler3D
Почти весь рассматриваемый мной софт прекрасно рас...

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

Cooler3D- Автор вопроса
Mikola Summer Duck
Ну и еще, я могу только предполагать, но возможно ...

Какая разница? Ну запущу я два разных софта, каждый из которых может утилизировать на 100% все 128 потоков. Ничего страшного не произойдет, планировщик молча отдаст по 50% каждому.

Cooler3D
Какая разница? Ну запущу я два разных софта, кажды...

Ты переоцениваешь интеллектуальность планировщика.

Cooler3D- Автор вопроса
Mikola Summer Duck
Ты переоцениваешь интеллектуальность планировщика.

За 15 лет к нему вопросов не возникало. Вполне предсказуемо работает.

Похожие вопросы

Обсуждают сегодня

Даже если так - ты в этом месте рассчитывал пполучить новые данные, зачем тебе старые?
Vga
18
с какой версии дельфи (приблизительно) в функции возвращающей (а есть слово покороче?) строку стало не нужно инитить резалт пустой строкой? function foo: string; begin // Res...
Karagy
16
Дебил? Я ищу друга
Bitard 228
27
я, кстати, считаю что это плохая идея, перегружать нулевой регистр всякой фигнёй. Это просто запомнить, но это плохо для кода. ЛУчше бы было другие регистры использовать ну ...
Arioch The
11
У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
лично мне из опыта вспоминается два основных источника результата в фукнкциях, возвращающих строку Первое - полностью новые данные. что мешает создать для них новую строку и в...
Vga
5
думаю, что надёжность тут перевесила а кроме того, подумай ещё ГДЕ размещать счетчик вот мы с тобой две функции, я тебя вызвал ты мне вернул строку ГДЕ ты должен разместить ...
Arioch The
7
опять пепяками меряетесь? пока нормально на js не попишете - у вас нет права голоса
Vitaly
14
Всем привет. Я что-то туплю. В эликсире есть config/runtime.exs чтобы грузить настройки времени выполнения. А в эрланге? Помню пару лет тому была дискуссия насчёт кошерности ...
Д. П.
5
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
Карта сайта