![]() |
|
||||||||||
|
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
А вот разница между кодом
public var myarr:Array = new Array(); private function init(e:Event = null):void { myarr[100000000] = 1; trace(getSize(myarr));//48 return; } Где Array автоматом length меняет, Vector - вручную, собсно и всё (ведь внутрях Array, на которые некоторым начхать, вполне может быть, что и сидит вектор, который автоматом увеличивает length просто) - она тоже несущественна? =)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. Последний раз редактировалось -De-; 11.11.2010 в 14:19. |
|
|||||
|
Цитата:
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Цитата:
Почему проигрывал? Vector - типизированный Array, вот он и должен выигрывать за счёт того, что его эл-ты не надо преобразовывать лишний раз. Ну т.е. я думал Array это типа adobe_std::vector<Object>, Vector.<typename> это adobe_std::vector<typename>. Оказалось, что с вектором всё где-то так и есть, а вот Array это скорее adobe_std::map<int,Object> - разница огромная.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
var v:Vector.<int> = new Vector.<int>(10000, false); trace(getSize(v)); v[10000] = 1; trace(getSize(v)); v.push(3); trace(getSize(v)); v.length = 40000000; trace(getSize(v)); v[4000000] = 2; trace(getSize(v)); В твоём тесте везде 56. Hero SDK, 10.1.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
P.S. это если предыдущего поста, как доказательства мало.
Добавлено через 5 минут Цитата:
Тоже Hero SDK и плеер 10.1.85.3 |
|
|||||
|
Цитата:
in в векторе медленнее, чем в массиве. hasOwnProperty в векторе медленнее, чем в массиве. обращение к несуществующему интексу: в массиве 51 мс, в векторе 1597мс на 1000000 итераций. Еще раз привожу пруфлинк: http://jacksondunstan.com/articles/855 Пустой массив на 8 байт меньше вектора. http://jacksondunstan.com/articles/663 Да в большинсве случаев вектор быстрее, чем массив, но это не означает, что внутри массива есть вектор. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
"проигрывал бы Vector абсолютно во всех тестах" - как такое может быть, если у Array внутре Vector?
Я вообще про то, что внутри у них всё равно могла бы быть одна вектороподонбая структура, просто криво некоторые методы/операторы вектору прописали, вот тесты и показывают разное. Причем судя по документации, так оно и есть "В любом случае, когда используется объект Array, все элементы которого относятся к одному и тому же типу данных, предпочтительным является экземпляр Vector.", например. Но вот тесты показывают, что не в любом.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:27. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|