EDITAR
Mi respuesta original estaba mal excepto por la última parte, y tengo que disculparme por eso. Sabía de hecho que Vector tiene exactamente cuatro implementaciones "bajo el capó". (Puede encontrar fuentes decompiladas de FP 10 playerglobal.swc en una publicación de Robert Penner here). Tres de ellas son para tipos de números (int, uint y Number). Uno es para tipos de objetos. Este último sirve como un catch-all y abarca todas las clases derivadas de Object. Esta es la razón por la que asumí que Vector.<Object>
era aún más rápido que Array, dependiendo de the information regarding vectors and arrays available from Adobe.
Sin embargo, parece que esta información es incorrecta, o al menos deja fuera algunas partes importantes:
Mientras Vector.<AnyClassDerivedFromObject>
permite la tipificación estricta, este tipo de información sólo se evalúa en tiempo de compilación (por lo que obtener más seguridad de tipo), pero no en tiempo de ejecución, por lo tanto, esencialmente los beneficios de los vectores de objeto de tipeo estrictos no se aplican al rendimiento. Vea this blog post para más información.
En consecuencia, las únicas implementaciones de Vector que son más rápidas que Array son las de los tipos de número (!).
De hecho, he hecho algunas pruebas exhaustivas en esto, y han llegado a la conclusión de que, si bien Vector.<int>
es hasta un 60% más rápido que la matriz de INT, todos los derivados de Vector.<Object>
no sólo son iguales en la velocidad (es decirVector.<Object>
realiza lo mismo que Vector.<String>
, también son aproximadamente 20% más lento que Array. He verificado esto dos y tres veces, así que creo que los resultados son bastante precisos.
Todavía es cierto que los vectores de tipo de número son más rápidos, por lo que debe utilizarlos para obtener beneficios de rendimiento sobre Array. Pero:
FIN EDITAR
Sólo si se va a utilizar sort()
, sortOn()
o cualquier otra de las funciones de clasificación conveniente de la matriz, es posible que aún decidir lo contrario, ya que estos son funciones nativas, y como tal realmente rápido. La implementación de sus propios métodos de clasificación en un Vector probablemente no coincidirá con su velocidad.
Ver mi respuesta actualizada @ crooksy88. Publiqué el resultado del código de prueba + que muestra que mi original es correcto y la respuesta de weltraumpirat es evidentemente falsa. –