From 7dcf1f5dc608102fb6fd04e0d121495227775459 Mon Sep 17 00:00:00 2001 From: James Wahlin Date: Thu, 22 Dec 2016 10:19:26 -0500 Subject: [PATCH] PERF-819 Create agg perf tests for on unwind followed by streaming stage --- testcases/pipelines.js | 54 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/testcases/pipelines.js b/testcases/pipelines.js index 99b5f6ad..0b9c7a73 100644 --- a/testcases/pipelines.js +++ b/testcases/pipelines.js @@ -759,12 +759,9 @@ generateTestCase({ generateTestCase({ name: "UnwindThenGroup", - // TODO (PERF-805): When the throughput of this test has improved, re-tag it back into the - // regression suite. - noRegression: true, docGenerator: function simpleUnwindDocGenerator(i) { var largeArray = []; - for (var j = 0; j < 1000; j++) { + for (var j = 0; j < 50; j++) { largeArray.push(getStringOfLength(10) + j); } return { @@ -775,3 +772,52 @@ generateTestCase({ }, pipeline: [{$unwind: "$array"}, {$group: {_id: "$array", count: {$sum: 1}}}] }); + +generateTestCase({ + name: "UnwindThenMatch", + docGenerator: function simpleUnwindDocGenerator(i) { + var valArray = []; + for (var j = 0; j < 30; j++) { + valArray.push(j%10); + } + return { + _id: i, + array: valArray, + smallString: getStringOfLength(10) + }; + }, + pipeline: [{$unwind: {path: "$array"}}, {$match: {array: 5}}] +}); + + +generateTestCase({ + name: "UnwindThenSort", + docGenerator: function simpleUnwindDocGenerator(i) { + var valArray = []; + for (var j = 0; j < 10; j++) { + valArray.push(getStringOfLength(10) + j); + } + return { + _id: i, + array: valArray, + smallString: getStringOfLength(10) + }; + }, + pipeline: [{$unwind: {path: "$array"}}, {$sort: {array: -1}}] +}); + +generateTestCase({ + name: "UnwindThenSkip", + docGenerator: function simpleUnwindDocGenerator(i) { + var valArray = []; + for (var j = 0; j < 10; j++) { + valArray.push(getStringOfLength(10) + j); + } + return { + _id: i, + array: valArray, + smallString: getStringOfLength(10) + }; + }, + pipeline: [{$unwind: {path: "$array"}}, {$skip: 10}] +});