hyrise/hyrise — pull request #296 by grundprinzip (2014-01-13 13:03:59+00:00)
Title: Adding Sparse Concurrent Vector

The current use of concurrent Vectors in the Store leads to an enormous amount of memory consumption. In a sample benchmark with a table of three integer columns using 280 MB raw data the 3 TID vectors grep 800MB for 23M records.

Since the data is extremely small in vectors it makes an awful lot of sense to store these sparsely using a map / vector combination. The new class Sparse Vector is based on the ConcurrentMap from TBB and should have the same guarantees as the Concurrent Vector.

@schwald care to take a look?