Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Почему Math.floor такой медленный? (http://www.flasher.ru/forum/showthread.php?t=162956)

toFL 05.08.2011 11:48

Почему Math.floor такой медленный?
 
Решил сравнить скорость работы Math.floor с приведением к типу int. Привожу тест (Flash CS):
Код AS3:

import flash.utils.getTimer;
 
var time:uint;
var count:uint = 10000000;
var n:Number = 987654321.123456789;
 
function floor ():void
{
        var i:uint;
        for (i = 0; i < count; i++)
                Math.floor(n);
}
 
function integer ():void
{
        var i:uint;
        for (i = 0; i < count; i++)
                int(n);
}
 
time = getTimer();
floor();
trace(getTimer()-time);//892
 
time = getTimer();
integer();
trace(getTimer()-time);//136

Есть мысли, почему он такой медленный?

DaFive 05.08.2011 11:53

http://www.flasher.ru/forum/blog.php?b=12

Wolsh 05.08.2011 15:42

Любое обращение к другому методу дает задержку, даже если этот метод - член этого же класса.
Инлайновые расчеты всегда быстрее, но, к сожалению, очень часто неудобны, и так и просятся вынести их в отдельный метод))


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.