pour en vs Objet.clé forEach sans propriétés héritées

J'ai été à la recherche à une perf de référence de Object.keys + forEach vs for-in avec des objets normaux.

Cette de référence montre que Object.keys + forEach est 62% plus lent que le for-in approche. Mais que faire si vous ne voulez pas d'obtenir la propriétés héritées? for-in comprend tous les non-natifs hérité d'objets, de sorte que nous allons utiliser hasOwnProperty à vérifier.

J'ai essayé de faire un autre référence ici exactement ce que fait. Mais maintenant, le for-in approche est 41% plus lent que Object.keys + forEach.


mise à jour

Le test ci-dessus a été fait dans le navigateur Chrome. Testé encore, mais avec Safari et j'obtiens des résultats différents: Object.keys(..).forEach(..) 34% slower, bizarre.

Note: La raison pour laquelle je suis à l'analyse comparative consiste à vérifier comment il est avec Node.js.

Questions:

  • Sont les jsperf résultat pour Chrome considérable pour Node.js?
  • Ce qui s'est passé, comment une seule conditionnelle fait le for-in approche 41% plus lent que Object.keys + forEach dans Chrome?
  • Pouvez-vous mettre en évidence la question(s) ici? Il semble y avoir un certain nombre de réponses.
  • Mise à jour de ma question. Désolé pour la confusion.
InformationsquelleAutor majidarif | 2014-07-31