Pārlūkot izejas kodu

Optimizing list creation in Zip.

Bart De Smet 8 gadi atpakaļ
vecāks
revīzija
053ad767f3

+ 8 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Zip.cs

@@ -592,7 +592,14 @@ namespace System.Reactive.Linq.ObservableImpl
 
                     if (_queues.All(q => q.Count > 0))
                     {
-                        var res = _queues.Select(q => q.Dequeue()).ToList();
+                        var n = _queues.Length;
+
+                        var res = new List<TSource>(n);
+                        for (var i = 0; i < n; i++)
+                        {
+                            res.Add(_queues[i].Dequeue());
+                        }
+
                         base._observer.OnNext(res);
                     }
                     else if (_isDone.AllExcept(index))