Array.prototype vs perf

Question rapide que je n'ai pas vraiment eu l'occasion d'examiner. Ce qui est plus performant lorsqu'il est utilisé dans un appel / applique un type de contexte: Array.prototype vs [] ?

par exemple:

 function test1() { return Array.prototype.splice.apply(arguments, [1, 2]); } test1([1,2,3,4,5,6,7,8,9]); function test2() { return [].splice.apply(arguments, [1, 2]); } test1([1,2,3,4,5,6,7,8,9]); 

Mes pensées: je suppose que le mode Array.prototype est plus performant car une fonction prototype peut être réutilisée et il n'est pas nécessaire de créer un Array.prototype . Pas vraiment sure cependant.

À l'aide de JSPerf (avec chrome), il semble que Array.prototype est en effet un peu plus performant:

Http://jsperf.com/array-perf-prototype-vs-literal

Cela dépend du navigateur qui l'exécute. Dans le chrome, il semble. Le prototype est plus rapide, Firefox ne montre aucune différence entre les deux bien qu'il fonctionne généralement plus lentement que le chrome. IE9 montre une augmentation de grande vitesse pour .prototype mais est le navigateur le plus lent de loin.

Cependant, ce type d'optimisation est si petit que l'on pourrait argumenter que le temps enregistré est compensé par les octets supplémentaires requis pour lire le code. Je divise cependant, si ce sont les plus grands problèmes de performance que vous rencontrez, alors vous n'avez vraiment aucun problème d'optimisation!

MODIFIER:

J'ai ajouté un test supplémentaire ici où j'ai utilisé le tableau passé dans la fonction pour appeler la fonction d'épissure qui est apparue plus rapide que les deux dans IE, Chrome et Firefox. Ma conclusion, si vous possédez déjà le tableau, utilisez-le, sinon utilisez le prototype.