arrays - Vector.<> Vs array
actionscript flashplayer-10 (5)
¿Cuáles son los pros y los contras de usar un Vector.<>
lugar de un array
?
Desde la página de documentación de adobe :
Como resultado de sus restricciones, un Vector tiene dos beneficios principales sobre una instancia de Array cuyos elementos son todas instancias de una sola clase:
- Rendimiento: el acceso a los elementos de la matriz y la iteración son mucho más rápidos cuando se usa una instancia de Vector que cuando se usa una matriz.
- Seguridad de tipos: en modo estricto, el compilador puede identificar errores de tipo de datos, como asignar un valor del tipo de datos incorrecto a un Vector o esperar el tipo de datos incorrecto al leer un valor de un Vector. Sin embargo, tenga en cuenta que al usar el método push () o el método unshift () para agregar valores a un Vector, los tipos de datos de los argumentos no se verifican en el momento de la compilación, sino que se verifican en el tiempo de ejecución.
El ejemplo de la lista enlazada que se mencionó anteriormente en los comentarios está incorrectamente escrito, aunque omite nodos impares y debido a eso solo itera la mitad de la misma información. No es de extrañar que obtenga tan buenos resultados, también podría ser más rápido con el código correcto, pero no con el mismo% de diferencia. El bucle establece current = current.next una vez demasiado (tanto en el bucle como en condición de bucle) cada iteración que causa ese comportamiento.
Los vectores son más rápidos. Aunque para la iteración secuencial lo más rápido parece ser las listas enlazadas .
Los vectores también pueden ser útiles para las operaciones de mapa de bits (consulte BitmapData.setVector, también BitmapData.lock y desbloqueo).
Pro: Vector es más rápido que Array, por ejemplo, vea esto: codificación JPEG más rápida con Flash Player 10
Contra: Vector requiere FP10, y de acuerdo con http://riastats.com/ aproximadamente el 20% de los usuarios siguen utilizando FP9
Según el sitio web de flash player, es un poco más alto. Alrededor del 85%