Каковы преимущества и недостатки использования Vector.<>
вместо array
?Vector. <> Vs array
ответ
В результате ограничений экземпляр Vector имеет два основных преимущества перед экземпляром Array, элементы которого являются экземплярами одного класса:
- Производительность: доступ к массиву итерация выполняется намного быстрее при использовании экземпляра Vector, чем при использовании массива.
- Тип безопасности: в строгом режиме компилятор может идентифицировать ошибки типа данных, такие как присвоение значения неправильного типа данных вектору или ожидающий неправильного типа данных при чтении значения из вектора. Обратите внимание, однако, что , что при использовании метода push() или unshift() для добавления значений в вектор, типы данных аргументов не проверяются во время компиляции, а проверяются во время выполнения.
Спасибо Арно! Это только профи, есть ли также некоторые контрасты? Что касается лучшей производительности Vector: некоторые люди сообщают об обратном: см. Http://impossiblearts.com/blog/2008/06/18/fp10-vector-vs-array/comment-page-1/ и http://bugs.adobe.com/jira/browse/FP-1802 –
Это, безусловно, выглядит как производительность, возможно, не самая лучшая точка продажи для векторов прямо сейчас. Опять же, нужно уже привыкнуть к тому, что флеш-флеш-флеш-фреймы и флеш-плеер далеко не свободны от ошибок. –
Большие контрасты на мой взгляд, что это очень новые, так что немного багги и что не у всех есть FP10. В этом тесте Майка Чамберса: http://www.mikechambers.com/blog/2008/08/19/using-vectors-in-actionscript-3-and-flash-player-10/ в своем тесте не Хью разница между двумя числами. Если ваше приложение не сильно висит в больших списках, я бы пошел с Array. – Arno
Pro: Вектор быстрее, чем Array - например. увидеть это: Faster JPEG Encoding with Flash Player 10
Contra: Vector требует FP10, и в соответствии с http://riastats.com/ около 20% пользователей по-прежнему используют FP9
Во время этого комментария, не обнаруженная версия + вспышка 9 часов в 4% – ADB
не обнаружено и вспышка 9 часов на уровне менее 5% сегодня. –
Согласно флэш-сайт проникновения игрока немного выше. Около 85%
векторы быстрее. Хотя для последовательной итерации the fastest thing seems to be linked-lists.
Векторы также могут быть полезны для растровых операций (посмотрите BitmapData.setVector, также BitmapData.lock и разблокируйте).
Пример связанного списка, упомянутый ранее в комментариях, написан неправильно, хотя он пропускает нечетные узлы и из-за этого только итерация половины количества тех же данных. Неудивительно, что он получает такие отличные результаты, может быть быстрее с правильным кодом, но не с той же разницей в%. Цикл устанавливает current = current.next один раз слишком много (как в цикле, так и в качестве условия цикла) каждая итерация, которая вызывает это поведение.
- 1. vector <vector<?>> to array in C++
- 2. vector <A> vs vector <A*> vs vector <shared_ptr <A>> in C++
- 3. std :: vector <std :: vector <T>> vs std :: vector <T*>
- 4. stl vector vs array
- 5. C++ Array vs vector
- 6. Vector vs Array Performance
- 7. C++ Vector vs Array (Время)
- 8. std :: vector vs normal array
- 9. vector vs. array в C++
- 10. Производительность std :: vector <Test> vs std :: vector <Test*>
- 11. vector <std::pair> Vs. 2 X vector <T>
- 12. vector <string> или vector <vector <char>>?
- 13. convert <vector><string> TO <vector><int> C++, Win32
- 14. iterate std :: vector <std :: vector <char>>?
- 15. C++ vector <vector <double>> double **
- 16. Итератор Vector <Vector <Point>>
- 17. Convert Mat to <vector <vector>> C++
- 18. C++ 11 std :: array vs static array vs std :: vector
- 19. Передача std :: vector <sf :: RectangleShape> Array в SFML
- 20. Почему я не должен использовать вектор <vector <vector<int> >>?
- 21. Как перебирать boost: вариант <std :: vector <int>, std :: vector <String>>?
- 22. Производительность DIM1 Repa Array vs Vector
- 23. Vector vs. Array for Deck of Cards
- 24. std :: array vs std :: vector тонкая разница
- 25. C++ Array vs Vector performance test explain
- 26. Vector vs Array для большого количества элементов?
- 27. std :: map <int, int> vs. vector
- 28. vector <unsigned char> vs string для двоичных данных
- 29. [performance] --- string :: operator + = vs. vector <char> push_back
- 30. C++ std :: vector <> vs new [] performance
В качестве примечания стороны, это должно быть отмечено flex4 flashplayer10. –