Вектор. <> по сравнению с массивом

Моя обычная политика состоит в том, чтобы иметь только один оператор возврата в конце функции, если сложность кода значительно не уменьшается путем добавления больше. На самом деле я - скорее поклонник Eiffel, который осуществляет единственное правило возврата при наличии никакого оператора возврата (существует только автосозданная переменная 'результата', чтобы вставить Ваш результат).

, конечно, существует случаи, где код может быть сделан более ясным с несколькими возвратами, чем очевидная версия без них была бы. Можно было утверждать, что больше переделывает, необходим, если у Вас есть функция, которая слишком сложна, чтобы быть понятной без нескольких операторов возврата, но иногда хорошо быть прагматичным о таких вещах.

16
задан Rihards 27 September 2011 в 18:26
поделиться

5 ответов

Со страницы документации Adobe ]:

В результате ограничений у Vector есть два основных преимущества перед экземпляром Array, все элементы которого являются экземплярами одного класса:

  • Производительность: доступ к элементам массива и итерация намного быстрее при использовании экземпляра Vector чем при использовании массива.
  • Безопасность типов: в строгом режиме компилятор может идентифицировать ошибки типа данных, такие как присвоение значения неверного типа данных вектору или ожидание неправильного типа данных при чтении значения из вектора. Обратите внимание, однако, что при использовании метода push () или unshift () для добавления значений к вектору типы данных аргументов не проверяются во время компиляции, а проверяются во время выполнения.
19
ответ дан 30 November 2019 в 21:46
поделиться

Pro: Vector is faster than Array - e.g. see this: Faster JPEG Encoding with Flash Player 10

Contra: Vector requires FP10, and according to http://riastats.com/ some 20% of users are still using FP9

2
ответ дан 30 November 2019 в 21:46
поделиться

Согласно flash Проникновение игроков на сайт немного выше. Около 85%

Это источник

0
ответ дан 30 November 2019 в 21:46
поделиться

Векторы быстрее. Хотя для последовательной итерации самым быстрым кажется использование связанных списков .

Векторы также могут быть полезны для операций с растровыми изображениями (проверьте BitmapData.setVector, а также BitmapData.lock и разблокируйте).

2
ответ дан 30 November 2019 в 21:46
поделиться

Пример связанного списка, упомянутый ранее в комментариях, написан неправильно, хотя он пропускает нечетные узлы и из-за этого выполняет итерацию только половины тех же данных. Неудивительно, что он получает такие отличные результаты, может быть и быстрее с правильным кодом, но не такая же разница в%. Цикл устанавливает current = current.next на один раз слишком много (как в цикле, так и в качестве условия цикла) на каждой итерации, которая вызывает такое поведение.

1
ответ дан 30 November 2019 в 21:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: