Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вопрос по производительности в определении большего значения. (http://www.flasher.ru/forum/showthread.php?t=135907)

джонатан 04.02.2010 21:05

Вопрос по производительности в определении большего значения.
 
Вот я тут задумался слегка, решил посоветываться. Как вы думаете, как лучше написать в плане производительности, ну и в плане хорошего тона.

1) if(_cNum > finalItemNum) finalItemNum = cNum;
2) finalItemNum = Math.max(finalItemNum, _cNum);
3) Как-то иначе.

udaaff 04.02.2010 21:16

Что-то не понял ничего.

джонатан 04.02.2010 21:36

Все просто. Короче, мне нужно, перезаписывать значение переменной finalItemNum, только в том случае, если переменная _cNum, на момент выполнения метода, имеет более высокое значение, нежели переменная finalItemNum.

Незнаю зачем я это писал, помоему выше тоже самое и сказано :)

fessor 04.02.2010 21:56

когда-то сам занимался подобным, для чего писал програмку типа:

сохранить текущее время
цикл (10000 раз сравнить две величины)
вычесть из текущего времени сохраненное перед циклом
вывести разницу во флешку (в милисекундах)

потом поставить другой способ сравнения величин
запускать несколько раз для каждого способа и желательно поотключать все ненужные программы, которые запускаются в самый неподходящий момент.
+таким способом подтвердил что прибавлять надо к большему меньшее число и полезность коротких имен переменных в циклах

udaaff 04.02.2010 21:57

Код AS1/AS2:

var _cNum:Number = 123;
var finalItemNum:Number = 1234;
 
var t:Number = getTimer();
 
for (var i:Number = 0; i < 1e6; i++)
{
        //if(_cNum > finalItemNum) finalItemNum = _cNum; // 1748
        //finalItemNum = Math.max(finalItemNum, _cNum); // 2856
        //finalItemNum  = _cNumv > finalItemNum ? _cNum : finalItemNum; // 2717
}
 
trace(getTimer() - t);

Цитата:

Как вы думаете, как лучше написать в плане производительности, ну и в плане хорошего тона.
C if вариант, я думаю, предпочтительнее и в плане хорошего тона, так как присваивание значения будет производиться только при выполнении условия, а не каждый раз.

джонатан 05.02.2010 15:00

Оу! Круто, спасибо!


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

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