Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Profs, podskazhite pls (http://www.flasher.ru/forum/showthread.php?t=59990)

George2004 30.06.2004 05:03

Profs, podskazhite pls
 
Chto bistree rabotaet ?

var counts = new Array();
for (i=0; i<10; i++) {
counts.push(0);
}

ili

var counts = new Array(10);
for (i=0; i<10; i++) {
counts[i]=0;
}

ili est' drugoe reshenie ...

DeliMIter 30.06.2004 12:55

Re: Profs, podskazhite pls
 
Код:

_t = getTimer();
var counts = new Array();
for (i=0; i<10; i++) {
  counts.push(0);
}
trace(getTimer() - _t);

_t = getTimer();
var counts = new Array(10);
for (i=0; i<10; i++) {
  counts[i]=0;
}
trace(getTimer() - _t);

_t = getTimer();
var counts = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
trace(getTimer() - _t);

_t = getTimer();
var counts = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
trace(getTimer() - _t);

Для 10 - непоказательно. Проверил для 1000, минимальные показатели: 21, 15, 1, 1 соответственно. Причем последний вариант был 1 чаще, чем предпоследний.

George2004 30.06.2004 19:53

Princip ponyal ,tnx :)

silin 30.06.2004 21:51

есть и другие наблюдения
(правда их вывод на 7 плеере не подтверждается)

DeliMIter 01.07.2004 12:19

В любом случае последний вариант в ЭТОМ случае быстрее, т.к. он раскладывается в байткод (навскидку)
Код:

push 'counts', 0, 0, 0, 0.....
initArray
setVariable

и меняться будет лишь количество параметров. Но для длинных массивов это неудобно (да и в целом - на кой?), а если элементы массива вычисяются в процессе ([++i, ++i...]), то, возможно, этот вариант будет самым долгим.


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

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