Есть ли какие-либо недостатки в производительности при использовании .if и .elseif в сборке? - PullRequest
0 голосов
/ 03 мая 2011

Мне было интересно, имеют ли директивы .if и .elseif какие-либо недостатки в производительности по сравнению с использованием серии операторов cmp и jmp.

Спасибо!

Devjeet

Ответы [ 2 ]

2 голосов
/ 03 мая 2011

В целом, нет никаких проблем с производительностью.

Однако, если вы решите использовать их постоянно, вам, вероятно, следует проверять сгенерированные ассемблеры время от времени, чтобы лучше понять, что они делают сваш код.Могут быть редкие случаи, когда созданный код немного менее эффективен.

1 голос
/ 03 мая 2011

Вероятнее всего, вы сами напишите хуже.Например, ".IF eax == 0" оценивается как:

test    eax,eax
jnz     label

, и это не может быть лучше, чем это.

...