Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Side by Side Diff: appengine/config_service/ui/bower_components/async/perf/suites.js

Issue 2923973003: Added base template for config ui. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 var _ = require("lodash");
2 var tasks;
3
4 module.exports = [
5 {
6 name: "each",
7 // args lists are passed to the setup function
8 args: [[10], [300], [10000]],
9 setup: function(count) {
10 tasks = _.range(count);
11 },
12 fn: function (async, done) {
13 async.each(tasks, function (num, cb) {
14 async.setImmediate(cb);
15 }, done);
16 }
17 },
18 {
19 name: "eachSeries",
20 args: [[10], [300], [10000]],
21 setup: function(count) {
22 tasks = _.range(count);
23 },
24 fn: function (async, done) {
25 async.eachSeries(tasks, function (num, cb) {
26 async.setImmediate(cb);
27 }, done);
28 }
29 },
30 {
31 name: "eachLimit",
32 args: [[10], [300], [10000]],
33 setup: function(count) {
34 tasks = _.range(count);
35 },
36 fn: function (async, done) {
37 async.eachLimit(tasks, 4, function (num, cb) {
38 async.setImmediate(cb);
39 }, done);
40 }
41 },
42 {
43 name: "map",
44 // args lists are passed to the setup function
45 args: [[10], [300], [10000]],
46 setup: function(count) {
47 tasks = _.range(count);
48 },
49 fn: function (async, done) {
50 async.map(tasks, function (num, cb) {
51 async.setImmediate(cb);
52 }, done);
53 }
54 },
55 {
56 name: "mapSeries",
57 args: [[10], [300], [10000]],
58 setup: function(count) {
59 tasks = _.range(count);
60 },
61 fn: function (async, done) {
62 async.mapSeries(tasks, function (num, cb) {
63 async.setImmediate(cb);
64 }, done);
65 }
66 },
67 {
68 name: "mapLimit",
69 args: [[10], [300], [10000]],
70 setup: function(count) {
71 tasks = _.range(count);
72 },
73 fn: function (async, done) {
74 async.mapLimit(tasks, 4, function (num, cb) {
75 async.setImmediate(cb);
76 }, done);
77 }
78 },
79 {
80 name: "eachOf",
81 // args lists are passed to the setup function
82 args: [[10], [300], [10000]],
83 setup: function(count) {
84 tasks = _.range(count);
85 },
86 fn: function (async, done) {
87 async.eachOf(tasks, function (num, i, cb) {
88 async.setImmediate(cb);
89 }, done);
90 }
91 },
92 {
93 name: "eachOfSeries",
94 args: [[10], [300], [10000]],
95 setup: function(count) {
96 tasks = _.range(count);
97 },
98 fn: function (async, done) {
99 async.eachOfSeries(tasks, function (num, i, cb) {
100 async.setImmediate(cb);
101 }, done);
102 }
103 },
104 {
105 name: "eachOfLimit",
106 args: [[10], [300], [10000]],
107 setup: function(count) {
108 tasks = _.range(count);
109 },
110 fn: function (async, done) {
111 async.eachOfLimit(tasks, 4, function (num, i, cb) {
112 async.setImmediate(cb);
113 }, done);
114 }
115 },
116 {
117 name: "parallel",
118 args: [[10], [100], [1000]],
119 setup: function (count) {
120 tasks = _.range(count).map(function () {
121 return function (cb) {
122 setImmediate(cb);
123 };
124 });
125 },
126 fn: function (async, done) {
127 async.parallel(tasks, done);
128 }
129 },
130 {
131 name: "series",
132 args: [[10], [100], [1000]],
133 setup: function (count) {
134 tasks = _.range(count).map(function () {
135 return function (cb) { setImmediate(cb); };
136 });
137 },
138 fn: function (async, done) {
139 async.series(tasks, done);
140 }
141 },
142 {
143 name: "waterfall",
144 args: [[10], [100], [1000]],
145 setup: function (count) {
146 tasks = [
147 function (cb) {
148 return cb(null, 1);
149 }
150 ].concat(_.range(count).map(function (i) {
151 return function (arg, cb) {
152 setImmediate(function () {
153 cb(null, i);
154 });
155 };
156 }));
157 },
158 fn: function (async, done) {
159 async.waterfall(tasks, done);
160 }
161 },
162 {
163 name: "queue",
164 args: [[1000], [30000], [100000], [200000]],
165 setup: function (count) {
166 tasks = count;
167 },
168 fn: function (async, done) {
169 var numEntries = tasks;
170 var q = async.queue(worker, 1);
171 for (var i = 1; i <= numEntries; i++) {
172 q.push({num: i});
173 }
174 function worker(task, callback) {
175 if (task.num === numEntries) {
176 return done();
177 }
178 setImmediate(callback);
179 }
180 }
181 },
182 {
183 name: "some - no short circuit- false",
184 // args lists are passed to the setup function
185 args: [[500]],
186 setup: function(count) {
187 tasks = _.range(count);
188 },
189 fn: function (async, done) {
190 async.some(tasks, function(i, cb) {
191 async.setImmediate(function() {
192 cb(i >= 600);
193 });
194 }, done);
195 }
196 },
197 {
198 name: "some - short circuit - true",
199 // args lists are passed to the setup function
200 args: [[500]],
201 setup: function(count) {
202 tasks = _.range(count);
203 },
204 fn: function (async, done) {
205 async.some(tasks, function(i, cb) {
206 async.setImmediate(function() {
207 cb(i >= 60);
208 });
209 }, done);
210 }
211 },
212 {
213 name: "every - no short circuit- true",
214 // args lists are passed to the setup function
215 args: [[500]],
216 setup: function(count) {
217 tasks = _.range(count);
218 },
219 fn: function (async, done) {
220 async.every(tasks, function(i, cb) {
221 async.setImmediate(function() {
222 cb(i <= 600);
223 });
224 }, done);
225 }
226 },
227 {
228 name: "every - short circuit - false",
229 // args lists are passed to the setup function
230 args: [[500]],
231 setup: function(count) {
232 tasks = _.range(count);
233 },
234 fn: function (async, done) {
235 async.every(tasks, function(i, cb) {
236 async.setImmediate(function() {
237 cb(i <= 60);
238 });
239 }, done);
240 }
241 },
242 {
243 name: "defer nextTick",
244 fn: function (async, done) {
245 process.nextTick(done);
246 }
247 },
248 {
249 name: "defer setImmediate",
250 fn: function (async, done) {
251 setImmediate(done);
252 }
253 },
254 {
255 name: "defer async.nextTick",
256 fn: function (async, done) {
257 async.nextTick(done);
258 }
259 },
260 {
261 name: "defer async.setImmediate",
262 fn: function (async, done) {
263 async.setImmediate(done);
264 }
265 },
266 {
267 name: "defer setTimeout",
268 fn: function (async, done) {
269 setTimeout(done, 0);
270 }
271 },
272 {
273 name: "ensureAsync sync",
274 fn: function (async, done) {
275 async.ensureAsync(function (cb) {
276 cb();
277 })(done);
278 }
279 },
280 {
281 name: "ensureAsync async",
282 fn: function (async, done) {
283 async.ensureAsync(function (cb) {
284 setImmediate(cb);
285 })(done);
286 }
287 },
288 {
289 name: "ensureAsync async noWrap",
290 fn: function (async, done) {
291 (function (cb) {
292 setImmediate(cb);
293 }(done));
294 }
295 }
296 ];
297
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698