Результаты поиска по запросу "micro-optimization"
llatency vs пропускная способность в Intel Intrinsics
Мне кажется, я в целом хорошо понимаю разницу между задержкой и пропускной способностью. Однако влияние задержки на пропускную способность инструкций мне неясно для Intel Intrinsics, особенно при использовании нескольких внутренних вызовов ...
Использование bools в расчетах, чтобы избежать веток
Вот'Небольшое любопытство микрооптимизации, которое я придумал:
@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 ...
Помогают ли финалы Java компилятору создавать более эффективный байт-код? [Дубликат]
Возможный дубликат: Улучшает ли использование ключевое слово final в Java? [https://stackoverflow.com/questions/4279420/does-use-of-final-keyword-in-java-improve-the-performance] окончательный модификатор имеетразные ...
, поэтому использование более узкой константы помогает только для непосредственных инструкций ALU, а не для
у переместить элементы данных, хранящиеся в памяти, в регистр общего назначения по своему выбору, используяMOV инструкция. MOV r8, [m8] MOV r16, [m16] MOV r32, [m32] MOV r64, [m64]Не стреляйте в меня, но как добиться следующего:MOV r24, [m24]? ...
Современная x86 модель стоимости
Я пишу JIT-компилятор с бэкэндом x86 и изучаю ассемблер x86 и машинный код на ходу. Я использовал ARM ассемблер около 20 лет назад, и меня удивляет разница в стоимости моделей между этими архитектурами. В частности, доступ к памяти и ответвления ...
Можно ли сказать предиктору ветки, насколько вероятно следовать за веткой?
Просто чтобы прояснить, яЯ не собираюсь здесь переносить что-либо, поэтому любые решения, которые привязывают меня к определенной коробке, подойдут.По сути, ...
@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 и более поздние ...
Как получить ограничение в 8060 байт на строку и 8000 на значение (varchar, nvarchar)?
ли какие-либо соображения, которые следует учитывать при разработке новой таблицы в отношении порядка, в котором должны быть объявлены столбцы? Я склонен ставить первичный ключ первым, затем любые внешние ключи (обычно целые числа суррогатных ...
является
илнесвязанный вопрос [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; // ...