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

(Кстати, а на практике-то точно 1 такт получается у ОоО

RISC?

18 ответов

11 просмотров

В теории можно сделать 1 такт, но не уверен, что на практике где-то так работает. Скорее будет около 3 тактов.

Насчёт RISC не знаю, но в комментариях на хабре писали о 2-3 тактах на Интеле. У меня в замере 1.8, если не напортачил

Отключали бусты на время замера?

Нет. Руководствуюсь таким принципом: для однопоточности мне заявляют максимальную тактовую частоту. Я вижу, что под нагрузкой она быстро достигается и сохраняется на моих процессорах (не наблюдал троттлинга). Поэтому все расчёты беру по этой частоте. Ну и по опыту разброса, замер не меньше секунды, остальное нерепрезентативно на x86.

Так вы же хотите такты посчитать, а они должно быть на базовой частоте тикают.

В теории можно вообще сделать как говорит молодежь "тупо и решительно": прямо после команды перехода (условного или нет) вставлять ШК по адресу перехода. Тогда и команды подготовки перехода можно вообще избавиться сразу. Работать должно так: декодер считывает ШК с командой перехода и сразу считывает ШК за ней (это ШК по адресу перехода) и собственно сам адрес перехода. Эта ШК сразу направляется на дополнительный конвейер. Решение простое и эффективное )

Почему? Например, тест отработал 1 секунду и сделал n итераций. Процессор i7-7560U, частота базовая 2.4 ГГц, макс 3.8. Под нагрузкой быстро поднимается до макс и работает на ней. То есть за секунду выполняется около 3.8e9 тактов. Значит, на одну итерацию цикла уходит 3.8e9/n тактов.

Лучше всё же без бустов, так будет надёжнее. И желательно зафиксировать частоту на базовой. 1.8 / 3.0 = 0.6 3.8 * 0.6 = 2.28 Ghz

Мне пока было лень заниматься фиксацией частоты, в расчётах не подводило. Можете кинуть в меня инструкцией, тогда придётся учитывать в будущем :) но я подозреваю, что это через биос ставится. А что за тройка?

Я пытался как-то зафиксировать частоту в БИОСе, но у меня ничего не получилось. Все равно частота произвольно повышалась под нагрузкой.

throttlestop ом можно зафиксировать частоту

У вас 1.8 такта, а я предполагаю, что там должно быть 3 такта. Но я не истина в последней инстанции, лучше повторить без бустов. Я обычно делаю так: sudo cpupower frequency-set -g performance -u 2.4GHz Это ограничит потолок в 2.4GHz и зафиксирует. Можно поиграться с другими -g. Например -g userspace -f 2.4GHz. Но я обычно вместо performance ставлю ondemand, это позволяет сбрасывать частоту, но не поднимать выше выставленной.

Вместо 2.4GHz выставляете базовую для CPU.

В БИОСе нужно отключать ТУРБО-буст и некоторые другие фичи.

У меня буст можно отключать и программно.

Хм, но если предположить 3 такта на тело цикло, то всего должно выполниться 3n тактов. И это должно произойти за секунду. Тогда процессор должен работать на частоте 6.3 ГГц, что вроде как невозможно. Я посмотрю [вечером, наверное, осталось на ноутбуке дома], что я вообще замерял и пришлю, на всякий случай. Меня тоже очень сильно удивил результат в 1.8.

Для такого простого случая он, по крайней мере, должен быть приближен к целому числу. Так лучше повторить в контролируемой среде, чтобы не гадать на кофейной гуще.

Согласен, но придётся немного подождать :)

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
Хтось використовував Vapor на Windows?
Jaroshevskii
15
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Оба варианта в целом подходят, но скорее создание конфликтной ситуации (на пустой основе). В прошлый раз он сказал мне про ESP32, я забыл про этот микроконтроллер, ошибся, я п...
КТ315
4
Карта сайта