AndreyAkinshin and stephentoub Optimize IOrderedEnumerable.Take(1) (#32389)
Calls like array.OrderBy(x => x).Take(1) use EnumerableSorter.ElementAt that
invokes QuickSelect. Take(1) is just the Minimum for OrderedEnumerable and can
be implemented more efficiently. The Minimum-based implementation has a big
impact on the worst case time complexity: now it's O(N) instead of O(N^2).
Latest commit f3b56d1 Sep 26, 2018
Permalink
..
Failed to load latest commit information.
Aggregate.cs Use nameof in calls to Error.* Feb 23, 2016
AnyAll.cs Use nameof in calls to Error.* Feb 23, 2016
AppendPrepend.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
AppendPrepend.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Average.cs Use nameof in calls to Error.* Feb 23, 2016
Buffer.cs Mark applicable structs as readonly Nov 3, 2017
Cast.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
Concat.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Concat.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Contains.cs Improve throughput of Enumerable.Contains for default comparer (#25097) Nov 8, 2017
Count.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
DebugView.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
DefaultIfEmpty.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
DefaultIfEmpty.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Distinct.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Distinct.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
ElementAt.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
Enumerable.SizeOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Enumerable.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Enumerable.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Errors.cs Format LINQ code Feb 23, 2016
Except.cs Use nameof in calls to Error.* Feb 23, 2016
First.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
GroupJoin.cs Use nameof in calls to Error.* Feb 23, 2016
Grouping.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Grouping.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
IIListProvider.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
IPartition.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Intersect.cs Use nameof in calls to Error.* Feb 23, 2016
Iterator.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
Join.cs Use nameof in calls to Error.* Feb 23, 2016
Last.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
Lookup.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Lookup.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Max.cs Use nameof in calls to Error.* Feb 23, 2016
Min.cs Use nameof in calls to Error.* Feb 23, 2016
OrderBy.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
OrderedEnumerable.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
OrderedEnumerable.cs Optimize IOrderedEnumerable.Take(1) (#32389) Sep 26, 2018
Partition.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Range.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Range.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Repeat.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Repeat.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Reverse.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Reverse.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Select.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Select.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
SelectMany.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
SelectMany.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
SequenceEqual.cs Linq.SequenceEqual: Improved performance for collections that support… Oct 12, 2017
Set.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
Single.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
SingleLinkedNode.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
Skip.SizeOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Skip.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Skip.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Sum.cs Use nameof in calls to Error.* Feb 23, 2016
Take.SizeOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Take.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Take.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
ToCollection.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
Union.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Union.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Utilities.cs Modernise C# style within System.Linq (#21765) Jul 10, 2017
Where.SpeedOpt.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Where.cs Factor out large generic additions in System.Linq for uap build (#31025) Jul 13, 2018
Zip.cs Use nameof in calls to Error.* Feb 23, 2016