Результаты поиска по запросу "micro-optimization"

1 ответ

llatency vs пропускная способность в Intel Intrinsics

Мне кажется, я в целом хорошо понимаю разницу между задержкой и пропускной способностью. Однако влияние задержки на пропускную способность инструкций мне неясно для Intel Intrinsics, особенно при использовании нескольких внутренних вызовов ...

2 ответа

Использование bools в расчетах, чтобы избежать веток

Вот'Небольшое любопытство микрооптимизации, которое я придумал:

1 ответ

@BeeOnRope: добавлена ​​версия SSE2. Отдельный movd / punpckldq, но все же лучше, чем 2 скалярных операции на некоторых процессорах.

тавьте себе цикл хранения-загрузки, подобный следующему, который загружаетDWORDs из несмежных местоположений и хранит их непрерывно: top: mov eax, DWORD [rsi] mov DWORD [rdi], eax mov eax, DWORD [rdx] mov DWORD [rdi + 4], eax ; unroll the above ...

ТОП публикаций

4 ответа

Помогают ли финалы Java компилятору создавать более эффективный байт-код? [Дубликат]

Возможный дубликат: Улучшает ли использование ключевое слово final в Java? [https://stackoverflow.com/questions/4279420/does-use-of-final-keyword-in-java-improve-the-performance] окончательный модификатор имеетразные ...

3 ответа

, поэтому использование более узкой константы помогает только для непосредственных инструкций ALU, а не для

у переместить элементы данных, хранящиеся в памяти, в регистр общего назначения по своему выбору, используяMOV инструкция. MOV r8, [m8] MOV r16, [m16] MOV r32, [m32] MOV r64, [m64]Не стреляйте в меня, но как добиться следующего:MOV r24, [m24]? ...

6 ответов

Современная x86 модель стоимости

Я пишу JIT-компилятор с бэкэндом x86 и изучаю ассемблер x86 и машинный код на ходу. Я использовал ARM ассемблер около 20 лет назад, и меня удивляет разница в стоимости моделей между этими архитектурами. В частности, доступ к памяти и ответвления ...

3 ответа

Можно ли сказать предиктору ветки, насколько вероятно следовать за веткой?

Просто чтобы прояснить, яЯ не собираюсь здесь переносить что-либо, поэтому любые решения, которые привязывают меня к определенной коробке, подойдут.По сути, ...

2 ответа

@BeeOnRope: они всегда имеют непосредственную ширину с регистром (кроме rax). Вот почему последние правки об этом говорят «al / ax / eax / rax, imm8 / 16/32/32». Может быть, я должен добавить «соответственно» к этим уже загроможденным предложениям.

Haswell и более ранних версиях обычно составляет 2 мопа с задержкой в ​​2 цикла, поскольку у мопов Intel традиционно может быть только 2 входа ( https://agner.org/optimize/ [https://agner.org/optimize/]). Broadwell / Skylake и более поздние ...

1 ответ

Как получить ограничение в 8060 байт на строку и 8000 на значение (varchar, nvarchar)?

ли какие-либо соображения, которые следует учитывать при разработке новой таблицы в отношении порядка, в котором должны быть объявлены столбцы? Я склонен ставить первичный ключ первым, затем любые внешние ключи (обычно целые числа суррогатных ...

5 ответов

 является

илнесвязанный вопрос [https://stackoverflow.com/q/5661936/39321]где у меня был такой код: public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; // ...