Bonjour,
j'ai réalisé un tri en java, et je veux étudier les perfomance de ce tri.
Ainsi je réalise des tests :
En gros ça donne ça, avec différents paramètre de taille de la liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for(int i=0;i<10;i++){ Tri test=new Tri(); dateD=Calendar.getInstance(); test.tri3(0,test.taille,2,test.moyenne(0,test.taille-1)); dateF=Calendar.getInstance(); double temps=dateF.getTimeInMillis()-dateD.getTimeInMillis(); System.out.println(temps); }
Ce que je ne comprend pas, c'est que les résultats sont les suivants :
Au delà de l'algorithme, est-ce que la machine garde en mémoires certaines choses pour aller plus vite lors d'une nouvelle exécution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 3250.0 766.0 765.0 578.0 578.0 578.0 593.0 578.0 578.0 594.0
J'ai l'impression que mes tests sont indépendants !
Pour info, je génère à chaque fois une nouvelle liste avec des double aléatoire (du moins j'espère ^^) :
Quelqu'un a une explication ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public Tri(){ Calendar date; Random rand=new Random(); liste=new double[taille]; for(int i=0;i<taille;i++){ date=Calendar.getInstance(); rand.setSeed((long)(date.getTimeInMillis()*Math.random())); liste[i]=rand.nextDouble(); } }
Merci
Partager