Re[11]: Компиляторы стали настолько умные ???
От: Шахтер Интернет  
Дата: 23.05.16 07:06
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, Шахтер, Вы писали:


Ш>>Если у вас один активный поток в системе


ЕМ>Если в системе только один активный поток — все верно. Только вот поинтересуйтесь, сколько таких потоков в Вашей системе.


Один. На самом деле, потоков в системе много, но они, как правило, не жрут процессор. А загрузить 8 ядер я могу, конечно, запустив параллельную сборку проекта, например.

П.С. Запустил для интереса счётную однопоточную задачу. По монитору ресурсов загружены все ядра, но сильно неравномерно.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[4]: [upd] Re: Компиляторы стали настолько умные ???
От: ononim  
Дата: 23.05.16 07:52
Оценка:
O>>Я интереса ради запустил этот код в чистой консоли. Как и предполагал — жрется 4 ядра, но каждое — только слегка, топ жрущих процессов, по убыванию: conhost, csrss, апликуха. Общий отжор TM показыват чуть менее 30%, что эквивалентно загрузке одного ядра + оверхед на чересчур активное переключение контекстов. Если всех из этой троицы посадить на одно и тоже ядро — становится аккурат 25%, при колной загрузке этого одного ядра.
_>Тоже для интереса запустил на linux: 1)xterm и 2)xterm + mc(midnight commander)
_>В первом случае процессор жрет сама программа 60%, xterm 70%, X — 5%. Система загружена на 40%
_>Во втором случае программа — 60%, mc — 50%, xterm — 70%, X — 5%. Система загружена 55%
_>То есть промежуточное звено в пути прохождения выводимой строки тоже дополнительно грузит процессор. Что логично, так как mc надо писать в свой буфер.
Linux и винда — совершенно по разному с консолями работают. Под виндой у FAR'а, запустившего такую прогу — 0% загрузка CPU.
Как много веселых ребят, и все делают велосипед...
Re[7]: Компиляторы стали настолько умные ???
От: Vain Россия google.ru
Дата: 23.05.16 09:09
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

LVV>>Не странно. В данном конкретном случае процесс — один.

ЕМ>Э-э-э... Вы никогда не слышали о квантовании процессорного времени, распределении нагрузки и подобных вещах в многозадачных/многопроцессорных ОС?
Это не распределение нагрузки задачи, это распределение времени на проце чтобы всем досталось. Распределение нагрузки это когда в одно и тоже время все или N ядер заняты одной и той же задачей. А вы про выполнение одной задачи одновременно только на одном ядре.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[12]: Компиляторы стали настолько умные ???
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 23.05.16 11:12
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>потоков в системе много, но они, как правило, не жрут процессор.


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

И не стоит без нужды медитировать на локальность ядерных кэшей — для подавляющего большинства задач ее влияние исчезающе мало. Там, где это влияние заметно, принимаются меры для привязки потоков к ядрам.
Re[8]: Компиляторы стали настолько умные ???
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 23.05.16 12:06
Оценка:
Здравствуйте, Vain, Вы писали:

V>Это не распределение нагрузки задачи, это распределение времени на проце чтобы всем досталось. Распределение нагрузки это когда в одно и тоже время все или N ядер заняты одной и той же задачей.


Выражение "распределение нагрузки" не является однозначным и универсальным термином, смысл в каждом случае определяется контекстом. И первое является распределением нагрузки, и второе, и еще есть много разных вариантов распределения нагрузки.
Re[9]: Компиляторы стали настолько умные ???
От: Vain Россия google.ru
Дата: 23.05.16 19:20
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

V>>Это не распределение нагрузки задачи, это распределение времени на проце чтобы всем досталось. Распределение нагрузки это когда в одно и тоже время все или N ядер заняты одной и той же задачей.

ЕМ>Выражение "распределение нагрузки" не является однозначным и универсальным термином, смысл в каждом случае определяется контекстом.
Распределение задачи по процам вполне конкретный термин
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[10]: Компиляторы стали настолько умные ???
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 24.05.16 00:42
Оценка:
Здравствуйте, Vain, Вы писали:

V>Распределение задачи по процам вполне конкретный термин


Угу, и где я утверждал именно об этом, чтобы было основание возразить "нет, это не оно"?
Re: Компиляторы стали настолько умные ???
От: Дрободан Фрилич СССР  
Дата: 24.05.16 07:31
Оценка: -1
octopuses:

O>printf("This loop will run forever.\n");

Fore-e-e-e-ever is our today
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.