Category Archives: PTL Containers

How to Build Map Containers Faster with PTL for .NET

The last video in our Parallel Template Library (PTL) video series (.NET Sorted Dictionary vs. PTL Map32 – Add, Item & Remove Functions) demonstrated the performance of the insertion method of PTL’s map container for large data sets by comparing it to the equivalent .NET container. In our latest video, “How to Build Map Containers Faster with PTL for .NET,” we show how you can improve the performance even more by using pre-sorted elements when building a map.

The PTL Containers component for .NET and Java offers powerful data containers that have been optimized for parallelism and for large data sets, such as the Map containers that we demonstrate in this video. We compare the Insert and PushBack methods from PTL’s Map64 container to the equivalent Add method from the .NET SortedDictionary on a system with a quad-core processor and 32 GB of memory.

A map is a variable-sized collection of (key, value) pairs. Its primary usage is the efficient retrieval of elements (or values) based on their associated keys. It also implements the insertion and removal of elements very efficiently.

Read More >>

LinkedInGoogle+TwitterFacebookGoogle GmailShare

.NET Sorted Dictionary vs. PTL Map32 – Add, Item & Remove Functions

Our latest Parallel Template Library (PTL) video demonstrates the performance of PTL’s map container, Map32, for large data sets by comparing it to the equivalent .NET SortedDictionary container.

During the demo, 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.

A map is a variable-sized collection of (key, value) pairs. Its primary usage is the efficient retrieval of elements (or values) based on their associated keys. It also implements the insertion and removal of elements very efficiently.

PTL offers Map32 and Map64 classes that are very similar to the .NET SortedDictionary class. PTL maps differ from the .NET SortedDictionary because they have a Boolean property called “Unique” that is set in their constructor and indicates if the map allows or disallows duplicate keys. The .NET SortedDictionary only allows elements with unique keys. It’s also important to note that PTL’s Map32 and Map64 are not tuned for a 32 or 64-bit operating system; they only differ in their maximum size.

Read More >>

LinkedInGoogle+TwitterFacebookGoogle GmailShare

Memory Management of .NET List vs. PTL List64 (Video)

We continue our Parallel Template Library (PTL) video series with our “Memory Management in PTL Containers” video. The PTL Containers component for .NET and Java offers powerful data containers that have been optimized for large data sets and for parallelism to take advantage of multicore processors.

In this video, we demonstrate how PTL’s superior container architecture results in better memory management and increased performance. 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.

We executed our demo application on a system with one Intel Core i7 processor with 4 physical cores (8 logical cores with hyperthreading) and 32 GB of memory. We also restarted the demo application after each test to run each test independently and get a fair comparison.

Read More >>

LinkedInGoogle+TwitterFacebookGoogle GmailShare