1
0
akarnokd 7 жил өмнө
parent
commit
2092a8e739

+ 5 - 5
Rx.NET/Source/benchmarks/Benchmarks.System.Reactive/ComparisonAsyncBenchmark.cs

@@ -38,7 +38,7 @@ namespace Benchmarks.System.Reactive
 
             if (N <= 1000)
             {
-                while (cde.CurrentCount == 0) ;
+                while (cde.CurrentCount != 0) ;
             }
             else
             {
@@ -52,11 +52,11 @@ namespace Benchmarks.System.Reactive
             var cde = new CountdownEvent(1);
 
             Observable.Range(1, N).SubscribeOn(_scheduler1)
-                .Subscribe(v => Volatile.Write(ref _store, v));
+                .Subscribe(v => Volatile.Write(ref _store, v), () => cde.Signal());
 
             if (N <= 1000)
             {
-                while (cde.CurrentCount == 0) ;
+                while (cde.CurrentCount != 0) ;
             }
             else
             {
@@ -72,11 +72,11 @@ namespace Benchmarks.System.Reactive
             Observable.Range(1, N)
                 .SubscribeOn(_scheduler1)
                 .ObserveOn(_scheduler2)
-                .Subscribe(v => Volatile.Write(ref _store, v));
+                .Subscribe(v => Volatile.Write(ref _store, v), () => cde.Signal());
 
             if (N <= 1000)
             {
-                while (cde.CurrentCount == 0) ;
+                while (cde.CurrentCount != 0) ;
             }
             else
             {

+ 9 - 0
Rx.NET/Source/benchmarks/Benchmarks.System.Reactive/ComparisonBenchmark.cs

@@ -293,5 +293,14 @@ namespace Benchmarks.System.Reactive
             Observable.Generate(0, s => s < N, s => s + 1, s => s)
                 .Subscribe(v => Volatile.Write(ref _store, v));
         }
+
+        [Benchmark]
+        public void Collect()
+        {
+            foreach (var v in Observable.Range(1, N).Collect(() => new List<int>(), (a, b) => { a.Add(b); return a; }))
+            {
+                Volatile.Write(ref _bufferStore, v);
+            }
+        }
     }
 }