Advertisement
Guest User

Untitled

a guest
Jun 25th, 2013
428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. public static void TestSpeed()
  2. {
  3. int n = 1000000;
  4. Random r = new Random();
  5. var messages = new List<Message>();
  6. var enumComparer = new EnumComparer<MessageType>();
  7. enumComparer = new EnumComparer<MessageType>(enumComparer.OrderBy(m => r.Next(enumComparer.Count())).ToList()); // shuffle
  8.  
  9. for (int i = 0; i < n; i++)
  10. {
  11. messages.Add(new Message("hi", enumComparer.ElementAt(r.Next(enumComparer.Count()))));
  12. }
  13.  
  14.  
  15. DateTime startTime;
  16.  
  17. {
  18. startTime = DateTime.Now;
  19. var res = Enumerable.OrderBy(messages, m => m.MessageType, enumComparer).ElementAt(2);
  20. Console.WriteLine("Enumerable orderBy, elementAt: {0}", DateTime.Now - startTime);
  21. }
  22.  
  23. {
  24. startTime = DateTime.Now;
  25. var res = LinqEnumExtensions.OrderBy(messages, m => m.MessageType, enumComparer).ElementAt(2);
  26. Console.WriteLine(" Own orderBy, elementAt: {0}", DateTime.Now - startTime);
  27. }
  28.  
  29. {
  30. startTime = DateTime.Now;
  31. var res = Enumerable.OrderBy(messages, m => m.MessageType, enumComparer).ToList();
  32. Console.WriteLine("Enumerable orderBy, full sort: {0}", DateTime.Now - startTime);
  33. }
  34.  
  35. {
  36. startTime = DateTime.Now;
  37. var res = LinqEnumExtensions.OrderBy(messages, m => m.MessageType, enumComparer).ToList();
  38. Console.WriteLine(" Own orderBy, full sort: {0}", DateTime.Now - startTime);
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement