Здравствуйте, _ilya_, Вы писали:
__>Думаю что нет, эти простои крайне низки ибо огромный кеш (когда-то в компах даже на Pentium было памяти как сейчас кеш у процессора...), там весь компилятор в него помещается и текущие компилируемые данные.
а вот это врядлли. Плюс постоянно меняются контексты, в том числе чтобы ядра не перегревались — это уже тысячи тактов.
__>Если идет все в очень много потоков, то естественно есть потоки которые ждут данные, но в это время там выполняются другие потоки. Переключения и т.д. это конечно не оптимально, но так работают процессоры.
вот и я о том же.
__>Вообще можно все и измерить... Т.е. написать программу которая делает целочисленные вычисления (скорее такое уже и есть и в количестве — просто нужен хороший измеритель не FLOPS, а IOPS — чтобы также долго работал и грел процессор, просто аналог linpack но для целочисленной арифметики) — т.е. задействует все кроме плавающей запятой. И сравнить с потреблением при компиляции. Компиляция естественно будет чуть меньше потреблять — там всетаки ветвления. Зато будет ясна картина столько потребляет целочисленная арифметика, сколько с плавающей запятой и сколько компиляция. Это и будет количество задействования транзисторов процессора. "Эффективность" тут не подходит, так как в linpack эффективность близка к 100%. А при компиляциях и ошибочно предсказанных ветвлениях в сложных задачах процессор скорее неэффективно действует, выполняя не то что надо но работает на 100% загрузки.
вот тебе таблица, ее думаю достаточно:
https://habr.com/ru/company/otus/blog/343566/