Показать сообщение отдельно
Старый 06.09.2006, 18:54   #1
Stranger
AnyKey`щик
 
Регистрация: 28.07.2006
Сообщений: 18
Написано 0 полезных сообщений
(для 0 пользователей)
Скорость деления

На форуме говорилось, что умножение на .5 работает быстрее деления на 2, а логический сдвиг еще быстрее умножения.
Собрал тест:
Local a%=100
Local b%=0
Local time,t1,t2,t3

time=MilliSecs()
For i=1 To 100000
	b=a Shr 1
Next
t1=MilliSecs()-time

time=MilliSecs()
For i=1 To 100000
	b=a *.5
Next
t2=MilliSecs()-time

time=MilliSecs()
For i=1 To 100000
	b=a /2
Next
t3=MilliSecs()-time

Print "SHR : "+t1
Print "* : "+t2
Print "/ : "+t3

WaitKey()
End
В итоге
Сдвиг - 53
Умножение - 30
Деление - 27

Почему же тогда деление самое быстрое, а логич. сдвиг-самый медленный?
(Offline)
 
Ответить с цитированием