MeteO Однозначно первое, во втором случае -- две команды, связанные между собой по данным, что не позволяет процессору параллельно их выполнить.
Скорость не только от конвеера может зависеть. Если это будет какой-то цикл, который не помещается в кеш, то может размер спасёт. Разумеется сам по себе первый способ быстрее, но можно нарошно напридумать немного этакой экзотики, когда ....
SII Никакие они не связные. очистка xor reg, reg специально оптимизированна. У Intel тоже подобное написанно. Быстрее разумеется первый способ. Так как команда одна.
Первое быстрее, пока выполняется xor ebx,ebx, процессор не сможет выполнить вторую команду, потому что в ней используется регистр первой. Да и наиболее быстро выполняется загрузка 32 разрядных чисел в регистр.
Неверно, xor одна из инструкций, как уже сказали, которая рвёт цепочку зависимости. Далее "Какие ваши доказательства?"(с) Я считаю, что выполняется одинаково быстро на современных микроархитектурах.
P4/3014MHz Код (Text): cli rdtsc mov ebx,eax xor ecx,ecx mov cl,0Dh rdtsc sub eax,ebx sti Возвращает Eax=69h Код (Text): cli rdtsc mov ebx,eax mov ecx,0Dh rdtsc sub eax,ebx sti Возвращает Eax=61h Второе быстрее на 8 тактов.
ога, набирается >100 тактов на 3-4 команды не оперирующих памятью. прочитай хотя бы криса про точность rtdsc.