Yo he dicho rápido. No el "más rápido". El algoritmo de Emprear, que no accede al prototipado del objeto array, será ligeramente más rápido (porque acceder al prototipo tiene un coste). Pero por contra, su algoritmo consume justo el doble de memoria RAM.
La versión mejorada, que utiliza el prototipado, es prácticamente igual a la mía; en vez de un while, utiliza un for. Asi que los tiempos de ejecución y consumo de memoria son los mismos.
Y vuelvo a reincidir. La mía no es obra mía. Es un algoritmo que tiene 80 años de probada eficacia y rapidez. Se sigue utilizando en todas partes:
http://en.wikipedia.org/wiki/Fisher%...3Yates_shuffle