Est-ce que quelqu'un utilise parfois le benchmarking par chronomètre, ou faut-il toujours utiliser un outil de performance ? Existe-t-il de bons outils gratuits pour Java ? Quels outils utilisez-vous ?
Pour clarifier mes préoccupations, l'évaluation comparative des chronomètres est sujette à des erreurs dues à la programmation du système d'exploitation. Lors d'une exécution donnée de votre programme, le système d'exploitation peut programmer un autre processus (ou plusieurs) au milieu de la fonction que vous chronométrez. En Java, les choses sont encore un peu pires si vous essayez de chronométrer une application threadée, car le planificateur de la JVM ajoute encore un peu plus d'aléatoire dans le mélange.
Comment abordez-vous l'ordonnancement du système d'exploitation lors de l'analyse comparative ?