Cycles de processeur, utilisation de la mémoire, temps d’exécution, etc.. ?
Ajouté : Est-il performance test en JavaScript en dehors de la perception juste de quelle vitesse le code s’exécute de manière quantitative ?
Cycles de processeur, utilisation de la mémoire, temps d’exécution, etc.. ?
Ajouté : Est-il performance test en JavaScript en dehors de la perception juste de quelle vitesse le code s’exécute de manière quantitative ?
Les profileurs sont certainement une bonne façon d'obtenir des numéros, mais dans mon expérience, la perception de la performance est tout ce qui compte pour l'utilisateur/client. Par exemple, nous avions un projet avec un Ext accordéon, qui a élargi à montrer quelques données et quelques imbriquée Ext grilles. Tout ce qui a été effectivement rendu assez rapide, pas une seule opération a pris un long moment, il était juste beaucoup d'informations rendues tout à la fois, de sorte qu'il senti lent à l'utilisateur.
Nous "fixe" de cette, pas que le passage à une plus rapide du composant ou de l'optimisation d'une méthode, mais en rendant les données de la première, puis rendu les grilles avec un setTimeout. Donc, l'information est apparu en premier, puis les grilles pop en place d'une seconde plus tard. Dans l'ensemble, il a fallu un peu plus de temps de traitement pour le faire de cette façon, mais pour l'utilisateur, la perception de la performance a été améliorée.
Je suis d'accord que la perception de la performance est vraiment tout ce qui compte. Mais parfois, je veux juste savoir quelle méthode de faire quelque chose est plus rapide. Parfois, la différence est ÉNORME et vaut le savoir.
Vous pouvez simplement utiliser javascript minuteries. Mais j'ai généralement obtenir beaucoup plus de résultats cohérents avec les indigènes Chrome (également en FF) outil développeur d'internet explorer méthodes d' console.time()
& console.timeEnd()
Exemple de comment je l'utilise:
var iterations = 1000000;
console.time('Function #1');
for(var i = 0; i < iterations; i++ ){
functionOne();
};
console.timeEnd('Function #1')
console.time('Function #2');
for(var i = 0; i < iterations; i++ ){
functionTwo();
};
console.timeEnd('Function #2')
JSLitmus est un outil léger pour la création d'ad-hoc JavaScript tests de référence
Laissez examiner les performances entre function expression
et function constructor
:
<script src="JSLitmus.js"></script>
<script>
JSLitmus.test("new Function ... ", function() {
return new Function("for(var i=0; i<100; i++) {}");
});
JSLitmus.test("function() ...", function() {
return (function() { for(var i=0; i<100; i++) {} });
});
</script>
Ce que j'ai fait ci-dessus est de créer un function expression
et function constructor
d'effectuer la même opération. Le résultat est comme suit:
FireFox Résultat De Performance
IE Résultat de Performance
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.