Memory Management in Parallel Template Library (PTL) Containers

In this demo, we compare a .NET List to a PTL List64 container. We add from
100 million to 1.1 billion elements to both containers to show how PTL uses
memory much more efficiently. We also retrieve all elements from both containers
to prove that random access performance was not sacrificed to implement PTL's
superior memory management scheme.

Parallel Template Library (PTL) - General

Parallel Template Library (PTL) Overview

PTL simplifies parallel performance for .NET and Java developers
because it achieves high performance parallelism while still
being generic and easy to use.

It offers many innovations such as a superior memory management scheme,
fast access to data through its efficient implementation of iterators
and superior load balancing techniques.

Algorithms

PTL differs from the .NET and Java standard libraries because it offers
parallel versions of many useful algorithms, which take advantage of multicore
processors to greatly improve performance.

In this video, we demonstrate
the performance of PTL's Sort and Reverse algorithms using a .NET List and a
PTLArray container.
On a quad-core processor, PTL's Parallel Sort was 4.5 times faster than the sequential Sort of the .NET List, and PTL's
Parallel Reverse was 109 times faster than the sequential Reverse of the .NET
List.

Containers

.NET SortedDictionary vs. PTL Map32 - Add, Item & Remove Functions

PTL's containers have been optimized to sustain large data sets. In this video,
we demonstrate the performance of PTL's map container (Map32) for large data sets
by comparing it to the equivalent .NET SortedDictionary container.

We add, retrieve and remove 100 million elements (which consist of a key and a
value) from both map containers on a system with a quad-core processor and 32
GB of memory. PTL's Map32 inserted elements 3.8 times faster, retrieved elements
2.1 times faster and erased elements 2.8 times faster than .NET's SortedDictionary.

Matrices

.NET Matrix Multiplication Demo

PTL for .NET is used to compute the product of two large, dense matrices.
The PTL parallel solution is 211.2 times faster than a traditional, sequential
.NET solution (on a system with 12 processor cores).