Mercurial > pub > ImplabNet
comparison Implab.Test/AsyncTests.cs @ 16:5a4b735ba669 promises
sync
author | cin |
---|---|
date | Thu, 07 Nov 2013 20:20:26 +0400 |
parents | 0f982f9b7d4d |
children | 7cd4a843b4e4 |
comparison
equal
deleted
inserted
replaced
15:0f982f9b7d4d | 16:5a4b735ba669 |
---|---|
240 Assert.AreEqual(Math.Sin(args[i] * args[i]), res[i]); | 240 Assert.AreEqual(Math.Sin(args[i] * args[i]), res[i]); |
241 Console.WriteLine("Verified in {0} ms", Environment.TickCount - t); | 241 Console.WriteLine("Verified in {0} ms", Environment.TickCount - t); |
242 } | 242 } |
243 | 243 |
244 [TestMethod] | 244 [TestMethod] |
245 public void ChainedMapTest() { | |
246 | |
247 using (var pool = new WorkerPool(1,10)) { | |
248 int count = 10000; | |
249 | |
250 double[] args = new double[count]; | |
251 var rand = new Random(); | |
252 | |
253 for (int i = 0; i < count; i++) | |
254 args[i] = rand.NextDouble(); | |
255 | |
256 var t = Environment.TickCount; | |
257 var res = args | |
258 .ChainedMap( | |
259 x => pool.Invoke( | |
260 () => Math.Sin(x * x) | |
261 ), | |
262 4 | |
263 ) | |
264 .Join(); | |
265 | |
266 Console.WriteLine("Map complete in {0} ms", Environment.TickCount - t); | |
267 | |
268 t = Environment.TickCount; | |
269 for (int i = 0; i < count; i++) | |
270 Assert.AreEqual(Math.Sin(args[i] * args[i]), res[i]); | |
271 Console.WriteLine("Verified in {0} ms", Environment.TickCount - t); | |
272 Console.WriteLine("Max workers: {0}", pool.MaxRunningThreads); | |
273 } | |
274 } | |
275 | |
276 [TestMethod] | |
245 public void ParallelForEachTest() { | 277 public void ParallelForEachTest() { |
246 | 278 |
247 int count = 100000; | 279 int count = 100000; |
248 | 280 |
249 int[] args = new int[count]; | 281 int[] args = new int[count]; |