Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the develop branch, built from commit cc449e156d.
PrevUpHomeNext

3.4- Linux Benchmarks

The following results are from complex benchmarks, not include in the library because they use non free software. (If you are interested in them, contact fjtapia@gmail.com)

There are 3 types of benchmarks,

  • 64 bits integers
  • strings
  • objects of several sizes.

The objects are arrays of integers. The heavy comparison sums all the elements in each, and the light comparison uses only the first number in the array.

These were run on an Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz, with 6 cores and 2 threads by core, and 15M of cache. The compiler used was a GCC 6.3 64 bits

100 000 000 NUMBERS OF 64 BITS RANDOMLY FILLED

                         |         |             |
                         |  Time   |   Maximum   |
                         |  secs   | Memory Used |
-------------------------+---------+-------------+
OMP parallel sort        | 1.1990  |   1564 MB   |
TBB parallel_sort        | 1.6411  |    789 MB   |
block_indirect_sort      | 0.9270  |    790 MB   |
                         |         |             |
OMP parallel stable sort | 1.5814  |   1972 MB   |
TBB parallel stable sort | 1.1745  |   1570 MB   |
sample sort              | 1.2872  |   1566 MB   |
parallel stable sort     | 1.7158  |   1176 MB   |
                         |         |             |

10 000 000 STRINGS RANDOMLY FILLED

                         |         |             |
                         |  Time   |   Maximum   |
                         |  secs   | Memory Used |
-------------------------+---------+-------------+
OMP parallel sort        | 1.5738  |   2023 MB   |
TBB parallel_sort        | 1.8626  |    826 MB   |
block_indirect_sort      | 1.2411  |    825 MB   |
                         |         |             |
OMP parallel stable sort | 2.3214  |   2024 MB   |
TBB parallel stable sort | 1.4383  |   1143 MB   |
sample sort              | 1.5097  |   1135 MB   |
parallel stable sort     | 2.0970  |    978 MB   |
                         |         |             |

OBJECTS RANDOMLY FILLED

The objects are arrays of 64 bits numbers

They are compared in two ways :

(H) Heavy : The comparison is the sum of all the numbers of the array.

(L) Light : The comparison is using only the first element of the array, as a key

                    |           |           |           |           |           |           |             |
                    | 100000000 |  50000000 |  25000000 |  12500000 |   6250000 |   1562500 |             |
                    | objects of| objects of|objects of |objects of |objects of |objects of |  Maximum    |
                    |  8 bytes  | 16 bytes  | 32 bytes  | 64 bytes  | 128 bytes | 512 bytes |  Memory     |
                    |           |           |           |           |           |           |  Used       |
                    |  H     L  |  H     L  |  H     L  |  H     L  |  H     L  |  H     L  |             |
--------------------+-----------+-----------+-----------+-----------+-----------+-----------+-------------+
OMP parallel sort   | 1.18  1.17| 0.73  0.66| 0.51  0.45| 0.43  0.39| 0.41  0.37| 0.37  0.32|   1569 MB   |
TBB parallel_sort   | 1.71  1.59| 0.85  0.81| 0.56  0.54| 0.51  0.42| 0.45  0.39| 0.36  0.32|    788 MB   |
block_indirect_sort | 1.11  1.08| 0.66  0.63| 0.49  0.46| 0.43  0.39| 0.40  0.37| 0.37  0.33|    794 MB   |
                    |           |           |           |           |           |           |             |
OMP par stable sort | 1.55  1.55| 1.38  1.35| 1.23  1.22| 1.17  1.17| 1.09  1.08| 0.97  0.97|   1980 MB   |
TBB par stable sort | 1.23  1.23| 0.89  0.85| 0.74  0.72| 0.71  0.69| 0.69  0.69| 0.68  0.68|   1573 MB   |
                    |           |           |           |           |           |           |             |
sample sort         | 1.32  1.32| 0.84  0.78| 0.66  0.63| 0.63  0.62| 0.62  0.61| 0.60  0.60|   1568 MB   |
parallel stable sort| 1.80  1.90| 1.17  1.07| 0.83  0.75| 0.76  0.71| 0.72  0.70| 0.70  0.69|   1177 MB   |
                    |           |           |           |           |           |           |             |


PrevUpHomeNext