Our PLINQ test suite has a ridiculously large number of test cases, in particular in outerloop (~200K), and as such it takes a long time to run. In outerloop CI legs on some machines we're currently bumping up against time limits, causing spurious failures. While more may be needed, these two small tweaks shrink execution time on my machine by 50%.
Commit migrated from https://github.com/dotnet/corefx/commit/
bec9e1ec77306f339fd2b34d0e9b6013b5555c39
{
// For outerloop, we use a large count that makes it more likely we'll fill buffers and saturate
// producers/consumers, while at the same time being cognizant of total test execution time.
- public static readonly int OuterLoopCount = 16 * 1024 * Environment.ProcessorCount;
+ public static readonly int OuterLoopCount = 4 * 1024 * Environment.ProcessorCount;
private static readonly IEnumerable<int> OuterLoopCounts = new[] { OuterLoopCount };
[Theory]
[OuterLoop]
- [MemberData(nameof(JoinOrderedLeftUnorderedRightData), new[] { 256, 512 })]
+ [MemberData(nameof(JoinOrderedLeftUnorderedRightData), new[] { 256 })]
[SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework doesn't preserve grouping of order-identical left keys through repartitioning (see https://github.com/dotnet/corefx/pull/27930#issuecomment-372084741)")]
public static void Join_CustomComparator_LeftWithOrderingColisions_UnorderedRight_Longrunning(Labeled<ParallelQuery<int>> left, int leftCount, Labeled<ParallelQuery<int>> right, int rightCount)
{