Bonjour tout le monde
J'ai voulu faire qqs benchs sur le Sort d'une collection d'objets avec Linq.
Ma class User
J'ai une méthode qui va taper en base et qui me retourne une List<User>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 [Serializable] public class User { public long Id { get; private set; } public string FirstName { get; set; } public string LastName { get; set; } public string EMail { get; set; } public string Login { get; set; } /// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public User() { } /// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public User(long id, string firstName, string lastName, string eMail, string login) { this.Id = id; this.FirstName = firstName; this.LastName = lastName; this.EMail = eMail; this.Login = login; } }
La méthode prend en paramètres le nombre de User souhaité.
La méthode pour trier ma liste:
Pour mon bench, j'ai exécuté 100 fois la méthode Sort à 3 reprises:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private IQueryable<T> Sort<T>(IEnumerable<T> list, string sortExpression) { return list.AsQueryable().OrderBy(sortExpression + " ASC"); }
1 fois sur une collection de 50 Users
1 fois sur une collection de 500 Users
1 fois sur une collection de 5000 Users
Et à chaque fois, j'obtiens le même résultat (14 ms pour 100 itérations)
Qq'un a une explication?
Merci
Partager