Просмотр полной версии : Profs, podskazhite pls
George2004
30.06.2004, 05:03
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
_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 :)
есть и другие наблюдения (http://www.flash-ripper.com/archives/000148.htm)
(правда их вывод на 7 плеере не подтверждается)
DeliMIter
01.07.2004, 12:19
В любом случае последний вариант в ЭТОМ случае быстрее, т.к. он раскладывается в байткод (навскидку)push 'counts', 0, 0, 0, 0.....
initArray
setVariable и меняться будет лишь количество параметров. Но для длинных массивов это неудобно (да и в целом - на кой?), а если элементы массива вычисяются в процессе ([++i, ++i...]), то, возможно, этот вариант будет самым долгим.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.