Comment faire pour indice de référence des fonctions en Clojure?
Je sais que je peux aller la prendre du temps pour évaluer une fonction peut être imprimée sur l'écran de la sortie standard (stdout) à l'aide de la fonction temps/macro.
Le temps de macro renvoie la valeur de la évaluées en fonction, ce qui le rend idéal pour l'utiliser en ligne. Cependant je veux automatiquement à mesure de l'exécution dans des circonstances spécifiques.
Est-il une fonction qui renvoie le temps écoulé dans une bibliothèque pour aider avec cette comparaison?
- double possible de outil de Profilage pour les Clojure?
- Je ne le pense pas, la question est à propos de l'analyse comparative externe, cette question est plus sur l'instrumentation du code. J'avoue être surpris de voir que quelqu'un est à la recherche de doublons dans les 5 ans à des questions.
Vous devez vous connecter pour publier un commentaire.
Vous voudrez peut-être regarder dans Hugo Duncan analyse comparative de la bibliothèque pour Clojure -- Critérium.
Du README:
Si c'est juste une question de vouloir capturer la chaîne de la programmation, vous pouvez lier *out* à autre chose avant d'utiliser temps.
Si vous voulez plus de contrôle sur le format, alors vous pouvez créer votre propre version de temps à l'aide de Java heure Système de l'méthodes, qui est ce que la temps macro utilise sous le capot de toute façon:
Prendre que la structure de base et remplacer l'appel à prn avec ce mécanisme de présentation de rapports que vous préférez.
Si vous générez un Java contraignants pour vos fonctions (et avec une certaine Clojure plugin Maven pour la reconfiguration de), vous pouvez même utiliser JMH (http://openjdk.java.net/projects/code-tools/jmh/) qui est probablement le meilleur de la JVM microbenchmarking harnais. Jetez un oeil à https://github.com/circlespainter/pulsar-auto-instrument-bench