Found 681 packages
Provides the System.Threading.Tasks.Parallel class, which adds support for running loops and iterators in parallel. Commonly Used Types: System.Threading.Tasks.Parallel System.Threading.Tasks.ParallelLoopState System.Threading.Tasks.ParallelLoopResult System.Threading.Tasks.ParallelOptions When using NuGet 3.x this package requires at least version 3.4.
Provides classes that supports parallel queries that use Language-Integrated Query (LINQ). Commonly Used Types: System.Linq.ParallelQuery<TSource> System.Linq.ParallelEnumerable System.Linq.ParallelQuery System.Linq.OrderedParallelQuery<TSource> When using NuGet 3.x this package requires at least version 3.4.
TPL Dataflow promotes actor/agent-oriented designs through primitives for in-process message passing, dataflow, and pipelining. TDF builds upon the APIs and scheduling infrastructure provided by the Task Parallel Library (TPL), and integrates with the language support for asynchrony provided by C#, Visual Basic, and F#. Supported Platforms: - .NET Framework 4.5 - Windows 8 - Windows Phone 8.1 - Windows Phone Silverlight 8 - Portable Class Libraries
Run xUnit test cases in parallel
Introduces IAsyncEnumerable, IAsyncEnumerator, ForEachAsync(), and ParallelForEachAsync() GitHub: https://github.com/Dasync/AsyncEnumerable PROBLEM SPACE Helps to (a) create an element provider, where producing an element can take a lot of time due to dependency on other asynchronous events (e.g. wait handles, network streams), and (b) a consumer that processes those element as soon as they are ready without blocking the thread (the processing is scheduled on a worker thread instead). EXAMPLE using Dasync.Collections; static IAsyncEnumerable<int> ProduceAsyncNumbers(int start, int end) { return new AsyncEnumerable<int>(async yield => { // Just to show that ReturnAsync can be used multiple times await yield.ReturnAsync(start); for (int number = start + 1; number <= end; number++) await yield.ReturnAsync(number); // You can break the enumeration loop with the following call: yield.Break(); // This won't be executed due to the loop break above await yield.ReturnAsync(12345); }); } // Just to compare with synchronous version of enumerator static IEnumerable<int> ProduceNumbers(int start, int end) { yield return start; for (int number = start + 1; number <= end; number++) yield return number; yield break; yield return 12345; } static async Task ConsumeNumbersAsync() { var asyncEnumerableCollection = ProduceAsyncNumbers(start: 1, end: 10); await asyncEnumerableCollection.ForEachAsync(async number => { await Console.Out.WriteLineAsync($"{number}"); }); } // Just to compare with synchronous version of enumeration static void ConsumeNumbers() { var enumerableCollection = ProduceNumbers(start: 1, end: 10); foreach (var number in enumerableCollection) { Console.Out.WriteLine($"{number}"); } }
The package includes: * Task<T> for executing asynchronous operations. * Concurrent Collections such as ConcurrentStack, ConcurentQueue ad ConcurrentDictionary. * PLINQ for writing parallel queries. * additional Threading operations such as Barrier,SpinLock and SpinWait.
Provides an F#-style API for parallel operations on sequences that are part in .NET 4.0 as System.Linq.ParallelEnumerable class. The API is akin to F# operations on sequences.
This class library provides a plethora of interesting and useful extensions to take advantage of and complement the functionality available in the .NET Framework 4 for parallel programming. Some (not all) features of this package are included in newer versions of .NET. See https://stackoverflow.com/q/37494157/328397
This package includes high performance .NET helpers such as: - Memory2D<T> and Span2D<T>: two types providing fast and allocation-free abstraction over 2D memory areas. - ArrayPoolBufferWriter<T>: an IBufferWriter<T> implementation using pooled arrays, which also supports IMemoryOwner<T>. - MemoryBufferWriter<T>: an IBufferWriter<T>: implementation that can wrap external Memory<T>: instances. - MemoryOwner<T>: an IMemoryOwner<T> implementation with an embedded length and a fast Span<T> accessor. - SpanOwner<T>: a stack-only type with the ability to rent a buffer of a specified length and getting a Span<T> from it. - StringPool: a configurable pool for string instances that be used to minimize allocations when creating multiple strings from char buffers. - String, array, Memory<T>, Span<T> extensions and more, all focused on high performance. - HashCode<T>: a SIMD-enabled extension of HashCode to quickly process sequences of values. - BitHelper: a class with helper methods to perform bit operations on numeric types. - ParallelHelper: helpers to work with parallel code in a highly optimized manner. - Box<T>: a type mapping boxed value types and exposing some utility and high performance methods. - Ref<T>: a stack-only struct that can store a reference to a value of a specified type. - NullableRef<T>: a stack-only struct similar to Ref<T>, which also supports nullable references.
A strong named library that provides a plethora of interesting and useful extensions to take advantage of and complement the functionality available in the .NET Framework 4 for parallel programming.
Create and compose complex asynchronous behavior in .Net.
A .NET utility library for running async methods in parallel batches
GreenPipes, a pipes and filters library for the Task Parallel Library
Parallel Extensions for the .NET Framework and .NET Standard. For examples of how to use this library, please visit https://devblogs.microsoft.com/pfxteam/tag/parallelextensionsextras/
Polly.Core is a .NET resilience and transient-fault-handling library that allows developers to express resilience strategies such as Retry, Circuit Breaker, Hedging, Timeout, Chaos and Fallback in a fluent and thread-safe manner.
A collection of basic extensions on the common BCL System.Threading namespace.
TPL Dataflow promotes actor/agent-oriented designs through primitives for in-process message passing, dataflow, and pipelining. TDF builds upon the APIs and scheduling infrastructure provided by the Task Parallel Library (TPL), and integrates with the language support for asynchrony provided by C#, Visual Basic, and F#. Commonly Used Types: System.Threading.Tasks.Dataflow.ActionBlock<TInput> System.Threading.Tasks.Dataflow.BatchBlock<T> System.Threading.Tasks.Dataflow.BatchedJoinBlock<T1, T2> System.Threading.Tasks.Dataflow.BatchedJoinBlock<T1, T2, T3> System.Threading.Tasks.Dataflow.BroadcastBlock<T> System.Threading.Tasks.Dataflow.BufferBlock<T> System.Threading.Tasks.Dataflow.DataflowBlock System.Threading.Tasks.Dataflow.JoinBlock<T1, T2> System.Threading.Tasks.Dataflow.JoinBlock<T1, T2, T3> System.Threading.Tasks.Dataflow.TransformBlock<TInput, TOutput> System.Threading.Tasks.Dataflow.TransformManyBlock<TInput, TOutput> System.Threading.Tasks.Dataflow.WriteOnceBlock<T>
ParallelHelper is a static code analyzer that helps to identify concurrency related issues. Moreover, it provides hints to improve the robustness of code with concurrency in mind.
A lightweight parallel library not based on tasks
Official Vowpal Wabbit library including C# interface.