Bonjour,
Je souhaite comparer les performances de deux algorithmes nommés algo1 et algo2.
Dans un premier cas de figure, j'ai deux classes Main différentes. Je lance deux fois java et j'obtiens que mes deux algos sont équivalent. Ils prennent environ 2 secondes.
Dans un deuxième de cas de figure, j'ai une classe Main qui lance les deux algos séquentiellement. Mon deuxième algo devient alors 5 fois plus rapide.
J'imagine qu'il y a un phénomène de cache ou autre qui entre en jeu.
Est-il possible de l'éviter? Par exemple, est-il possible que mes deux algos soit lancée dans 2 VM différentes (autrement dit que mon programme Java crée une vm puis y exécute un bout de code). Utiliser des threads est-il suffisant?
Merci
Partager