более быстрый метод очистки массива в as3 - PullRequest
1 голос
/ 16 июня 2011

Что быстрее для очистки массива в ActionScript 3?

myArray = [];

или

myArray.length = 0;

а почему быстрее? существует лучший метод, чем эти? ...

1 Ответ

4 голосов
/ 16 июня 2011

Я написал следующую тестовую программу:

var array:Array = [];
var start:int = getTimer();
for (var index:int = 0; index < 10000; index++)
{
    array.push(4);
    array = [];
    //array.length = 0;
}
var end:int = getTimer();
trace (end - start);

Использование .length = 0 сообщает о 10 миллисекундах. Использование array = [] сообщает о 21 миллисекунде. Очевидно, что .length = 0 намного быстрее. Кроме того, выполнение array = [] может привести к более ранним / более частым сборкам мусора, поскольку, вероятно, выполняется выделение кучи. Сборка мусора замедляет работу приложения позже.

.length = 0 побед по нескольким причинам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...