metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-08-21 05:55 am

Зло какое-то

Школьный Линукс и входной порог разработки

Борландовские Паскали, С и тому подобное работали под досом без плясок с бубном и ставились простым копированием.
Дельфи в 1997 году поставилась на 95 винду и заработала сразу. За день можно написать прототип DB приложения, вообще видя среду разработки в первый раз. Visual C в то же примерно время - то же самое, разве что писать чуть сложнее, это вам не RAD.
Вижуал студия с дотнетом в 2006 вроде бы году - аналогично, поставил, за день разобрался.

А в линуксе до сих пор какое-то вуду, стоит только выйти за рамки стандартных задач.

[identity profile] thedeemon.livejournal.com 2010-08-21 07:33 pm (UTC)(link)
У вас на одной машине пара сотен ядер? Нет? Тогда сотни тредов только жрут ресурсы и мешают друг другу. Несколько потоков + асинхронные операции эффективней, только это ж думать надо, порождать треды проще конечно.

[identity profile] theiced.livejournal.com 2010-08-21 07:35 pm (UTC)(link)
64 ядра например. оптимально при данной конкретной задачи 150 потоков, нет - распаралелить на несколько боксов не проще.

ещё возможен случай когда потоки большей частью в идле и таки да - они нужны.

[identity profile] thedeemon.livejournal.com 2010-08-21 07:41 pm (UTC)(link)
>случай когда потоки большей частью в идле и таки да - они нужны.

Вот так и получаются всякие Аутлуки, которые ничего не делают аж в 50 потоков.

[identity profile] theiced.livejournal.com 2010-08-21 07:43 pm (UTC)(link)
иногда так надо. честно. если есть желание - завтра как проснусь попробую сформулировать.

[identity profile] thedeemon.livejournal.com 2010-08-21 07:48 pm (UTC)(link)
Спасибо. Мне правда интересно увидеть задачу, где такое число потоков оправдано.

[identity profile] metaclass.livejournal.com 2010-08-21 07:51 pm (UTC)(link)
Кстати, если поток при работе вылазит за пределы кэша ядра и нет независимого контроллера памяти на каждое ядро - то это же будет холокост, и столько потоков будет просто не нужно.

[identity profile] w00dy.livejournal.com 2010-08-21 08:17 pm (UTC)(link)
так бывает надо. В молодости писал софтину для телефонии, мониторили линии, дык у нас там и по 300 тредов было из который 200 в идле. А всё потому что обработка события может занимать ощутимое время. Когда один обработчик держит одну линию, то это пофиг, ибо генератором событий является человек, а он думает дольше. А вот когда один обработчик держит несколько линий, то начинает собираться очередь, плывёт время и наступает жопа.

[identity profile] w00dy.livejournal.com 2010-08-21 08:16 pm (UTC)(link)
Ситуации разные бывают. Всё зависит от того чем в этих потоках заниматься, если там какой-нить конечный автомат или что-то event-driven, то не вижу никаких проблем чтобы это выпихнуть в отдельные треды и не заморачиваться. Да и в системе явно больше чем 100 потоков числится, и это ей не мешает.

[identity profile] thedeemon.livejournal.com 2010-08-22 06:22 am (UTC)(link)
Молодец, вот тебе новый юзерпик: