by Progeneric Systems - Product Type: Component / .NET Class
You can find current information from the links below
in Development
If you need to buy a license for this specific version, please contact us for availability and pricing.
Other information on this page is shown for historical reference only and may have changed considerably since.
Bringing generic and parallel programming to mainstream programmers. Progeneric .NET Template Library (NTL) is a generic and parallel library for .NET developers, built on top of the Microsoft Task Parallel Library (TPL). The library provides the tools needed to develop powerful applications using the generic and parallel programming paradigms. Progeneric .NET Template Library (NTL) lets you build software components that take advantage of multi/many core hardware and includes new and enhanced algorithms that have a sequential and parallel version (Search vs. PSearch, Transform vs. PTransform, etc.).
Progeneric .NET Template Library (NTL) Features:
Progeneric .NET Template Library (NTL) provides containers, iterators, algorithms and function objects (functors) with the following design principles:
Some of the common aspects of using this library are:
Reasons to choose Progeneric .NET Template Library (NTL)
Writing parallel software is essential for taking advantage of modern multi/many core computers. It is a tedious task to write high performance, reliable software that executes sequentially. Introducing parallelism to an already complex task can really become a burden on your development and test resources. Remember that the best sequential algorithm may not be the best parallel algorithm, and with parallelism, you also start introducing non-determinism, race conditions, synchronization overheads, etc. These issues just increase development and testing overheads.
The NTL library introduces many parallel algorithms and methods that are very easy to use and fully tested. This library achieves high performance by reducing sharing (especially write sharing) of data across parallelism boundaries to avoid cache coherence overheads and by reducing synchronization overheads. The design was optimized by repeating the tuning and iterating process many times and measuring the progress. Progeneric have written tens of thousands of test cases and thousands of benchmark tests in order to achieve high performance without sacrificing the quality.
It is important to emphasize that Progeneric did not focus only on the parallel code. The libraries have many innovations in every aspect of the software construction, starting with better design and finishing with very high (99%) structural coverage.