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]; |
