Je tente d'écrire un article scientifique sur un algorithme que j'ai développé et codé en javascript. J'espérais comparer l'ancienne version lente par rapport à la nouvelle version rapide pour diverses entrées et être capable de rapporter des métriques comme le nombre d'appels à Math.log, le nombre d'appels à Math.exp, le nombre d'opérations de multiplication, nombre d'opérations de division, le nombre d'additions, le nombre de soustractions, etc.Comptage du nombre d'opérations en virgule flottante en javascript
Je me rends compte que le compilateur JIT du moteur javascript pourrait faire une certaine optimisation qui change un peu ces chiffres, mais je ne me soucie pas vraiment de l'exact détails de chaque mesure, mais seulement que je compare des pommes aux pommes à travers les deux algorithmes.
Existe-t-il un outil ou une méthode pour comptabiliser automatiquement ces opérations en javascript? Existe-t-il des moteurs javascript qui génèrent un type de bytecode intermédiaire permettant de comptabiliser automatiquement ces opérations? Si ce n'est pas javascript, qu'en est-il en C++?
Chrome peut afficher le nombre d'appels à 'Math.x' dans leurs résultats de profil. –
Javascript vous permet de redéfinir les méthodes intégrées. par exemple -> 'var oLog = Math.log; Math.log = (x) => {console.log ('log'); return oLog (x); } 'sortirait de la console' log' et retournerait le journal d'origine. Donc, si vous n'avez pas trop de fonctions que vous voulez profiler, cette méthode simple pourrait faire l'affaire. – Keith