Результаты поиска по запросу "micro-optimization"
Помогают ли финалы Java компилятору создавать более эффективный байт-код? [Дубликат]
Возможный дубликат: Улучшает ли использование ключевое слово final в Java? [https://stackoverflow.com/questions/4279420/does-use-of-final-keyword-in-java-improve-the-performance] окончательный модификатор имеетразные ...
Современная x86 модель стоимости
Я пишу JIT-компилятор с бэкэндом x86 и изучаю ассемблер x86 и машинный код на ходу. Я использовал ARM ассемблер около 20 лет назад, и меня удивляет разница в стоимости моделей между этими архитектурами. В частности, доступ к памяти и ответвления ...
C указатели против прямого доступа члена для структур
Скажем, у меня есть структура, подобная следующей ... typedef struct { int WheelCount; double MaxSpeed; } Vehicle;... и у меня есть глобальная переменная этого типа (я хорошо знаю о подводных камнях глобалов, это для встроенной системы, которую ...
x> -1 против x> = 0, есть ли разница в производительности
Я слышал, как учитель бросил это однажды, и с тех пор меня это беспокоит. Допустим, мы хотим проверить, является ли целое числоx больше или равно 0. Есть два способа проверить это: if (x > -1){ //do stuff }а также if (x >= 0){ //do stuff }По ...
Разница между «или eax, eax» и «test eax, eax» [дубликат]
На этот вопрос уже есть ответ: Проверьте, равен ли регистр нулю с CMP reg, 0 против OR reg, reg? [/questions/33721204/test-whether-a-register-is-zero-with-cmp-reg-0-vs-or-reg-reg] 2 ответаКакая разница междуor eax,eax а такжеtest eax,eax? Я ...
llatency vs пропускная способность в Intel Intrinsics
Мне кажется, я в целом хорошо понимаю разницу между задержкой и пропускной способностью. Однако влияние задержки на пропускную способность инструкций мне неясно для Intel Intrinsics, особенно при использовании нескольких внутренних вызовов ...
Деление с плавающей точкой против умножения с плавающей точкой
Есть ли (не микрооптимизация) прирост производительности при кодировании float f1 = 200f / 2 в сравнении с float f2 = 200f * 0.5 Мой профессор несколько лет назад сказал мне, что деления с плавающей запятой выполняются медленнее, чем умножения ...
ожет ли MOV x86 быть «бесплатным»? Почему я не могу воспроизвести это вообще?
Я продолжаю видеть, как люди утверждают, что инструкция MOV может быть бесплатной в x86 из-за переименования регистров. Для жизни я не могу проверить это ни в одном тестовом случае. Каждый тестовый пример, который я пробую, разоблачает это. ...
Почему циклы всегда компилируются в стиле «do… while» (прыжок с хвоста)?
Когда я пытаюсь понять сборку (с включенной оптимизацией компилятора), я вижу это поведение: Очень простой цикл, подобный этому outside_loop; while (condition) { statements; } Часто компилируется в (псевдокод) ; outside_loop jmp ...