Topic de Margot_Lafeet :

Des experts en C# ici ?

Supprimé

Le 17 octobre 2021 à 10:26:22 TetonVenere a écrit :

Le 17 octobre 2021 à 10:21:10 :
Je crois avoir compris ce que veux dire l'op

En gros il est étonné que le Contains est plus rapide que le foreach

Ah oui en effet, son insert est à 150 000 et pareil pour la petite liste, l'élément se trouve en 8 ième position
j'ai la flemme de faire le calcul mais ça doit faire en sorte que le premier prends moins de temps que le second

Les temps sont les mêmes si j'enlève les inserts, donc maintenant l'algo parcours forcément toutes les listes du début à la fin

Le 17 octobre 2021 à 10:28:55 :

Le 17 octobre 2021 à 10:26:22 TetonVenere a écrit :

Le 17 octobre 2021 à 10:21:10 :
Je crois avoir compris ce que veux dire l'op

En gros il est étonné que le Contains est plus rapide que le foreach

Ah oui en effet, son insert est à 150 000 et pareil pour la petite liste, l'élément se trouve en 8 ième position
j'ai la flemme de faire le calcul mais ça doit faire en sorte que le premier prends moins de temps que le second

Les temps sont les mêmes si j'enlève les inserts, donc maintenant l'algo parcours forcément toutes les listes du début à la fin

Bordel ne pas feed

Le 17 octobre 2021 à 10:27:41 Afzhjvjkouhp a écrit :
Très chiant à lire ce topic, j'espère que t'es pas chargé d'écrire des rapports au taff

Ma façon d'écrire est mauvaise ?
Si c'est pour l'affichage du code j'en suis désolé j'aurais du le mettre dans une balise spoil au moins

Le 17 octobre 2021 à 10:22:58 :
C'est juste parce que le Contains s'arrête dès qu'il a trouvé ce qu'il cherche. Du coup quand tu l'applique à la petite liste ça cha ge pas grand chose mais quand tu l'applique à à la grande liste ça te fait un gros gain

This fin du topic a moins que vous souhaitiez parler de micro optimisation

Le 17 octobre 2021 à 10:09:52 :
Il faut que tu cast la liste en pot de miel

This

Pour le premier cas à 651ms, le foreach fait 5 000 000 d'itérations et le Contains en fait 8.
Pour le second cas à 451ms, le foreach fait 17 itérations et le Contains en fait 150 000.

5 000 000 * 8 = 40 000 000 > 17 * 150 000 = 2 550 000

sur le principe

Edit : en vrai je suis pas du tout sûr, faudrait s'amuser à voir quand le 2e cas > 1er cas https://image.noelshack.com/fichiers/2020/24/1/1591642828-img-08062020-205936-400-x-300-pixel.jpg

Données du topic

Auteur
Margot_Lafeet
Date de création
17 octobre 2021 à 10:07:32
Date de suppression
24 octobre 2021 à 07:40:55
Supprimé par
Auteur
Nb. messages archivés
26
Nb. messages JVC
26
En ligne sur JvArchive 143