Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void TestSpeed()
- {
- int n = 1000000;
- Random r = new Random();
- var messages = new List<Message>();
- var enumComparer = new EnumComparer<MessageType>();
- enumComparer = new EnumComparer<MessageType>(enumComparer.OrderBy(m => r.Next(enumComparer.Count())).ToList()); // shuffle
- for (int i = 0; i < n; i++)
- {
- messages.Add(new Message("hi", enumComparer.ElementAt(r.Next(enumComparer.Count()))));
- }
- DateTime startTime;
- {
- startTime = DateTime.Now;
- var res = Enumerable.OrderBy(messages, m => m.MessageType, enumComparer).ElementAt(2);
- Console.WriteLine("Enumerable orderBy, elementAt: {0}", DateTime.Now - startTime);
- }
- {
- startTime = DateTime.Now;
- var res = LinqEnumExtensions.OrderBy(messages, m => m.MessageType, enumComparer).ElementAt(2);
- Console.WriteLine(" Own orderBy, elementAt: {0}", DateTime.Now - startTime);
- }
- {
- startTime = DateTime.Now;
- var res = Enumerable.OrderBy(messages, m => m.MessageType, enumComparer).ToList();
- Console.WriteLine("Enumerable orderBy, full sort: {0}", DateTime.Now - startTime);
- }
- {
- startTime = DateTime.Now;
- var res = LinqEnumExtensions.OrderBy(messages, m => m.MessageType, enumComparer).ToList();
- Console.WriteLine(" Own orderBy, full sort: {0}", DateTime.Now - startTime);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement