forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Скорость деления (http://forum.boolean.name/showthread.php?t=1446)

Stranger 06.09.2006 18:54

Скорость деления
 
На форуме говорилось, что умножение на .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

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

jimon 06.09.2006 20:40

Re: Скорость деления
 
все зависит от процессора :)

кстати компилятор блитца сам юзает логический здвиг
при делениях и умножениях на 2 (кратных 2)

impersonalis 06.09.2006 23:27

Re: Скорость деления
 
http://www.boolean.name/showthread.php?t=103
до конца дочитай.
И к 3д эта тема не имеет отношения


Часовой пояс GMT +4, время: 17:31.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot