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

PrevUpHomeNext

3.5- Windows Benchmark

These results are obtained from complex benchmarks, not included in the library because they use non free software. (If you are interested in the details, 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 of the array.

This benchmark ran on a VirtualBox virtual machine with 8 threads and 16 GB of RAM, running over a Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz with 6 cores and 2 threads by core, and 15M of cache.

100 000 000 NUMBERS OF 64 BITS RANDOMLY FILLED

                          |         |             |
                          |  Time   |   Maximum   |
                          |  secs   | Memory Used |
--------------------------+---------+-------------+
PPL parallel sort         |  2.4016 |    786 MB   |
PPL parallel_buffered_sort|  2.0373 |   1567 MB   |
block_indirect_sort       |  1.6101 |    785 MB   |
                          |         |             |
sample sort               |  2.1191 |   1565 MB   |
parallel stable sort      |  2.4503 |   1175 MB   |
                          |         |             |

10 000 000 STRINGS RANDOMLY FILLED

                          |         |             |
                          |  Time   |   Maximum   |
                          |  secs   | Memory Used |
--------------------------+---------+-------------+
PPL parallel sort         |   4.3241|    887 MB   |
PPL parallel_buffered_sort|   3.5434|   1199 MB   |
block_indirect_sort       |   3.5732|   1601 MB   |
                          |         |             |
sample sort               |   3.8107|   1198 MB   |
parallel stable sort      |   5.0277|   1041 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  |             |
---------------------------+-----------+-----------+-----------+-----------+-----------+-----------+-------------+
                           |           |           |           |           |           |           |             |
PPL parallel sort          | 2.50  2.40| 1.34  1.16| 0.85  0.73| 0.70  0.57| 0.72  0.45| 0.54  0.40|    785 MB   |
PPL parallel_buffered_sort | 2.20  2.26| 1.34  1.24| 1.03  0.79| 1.00  0.83| 0.90  0.85| 0.78  0.87|   1567 MB   |
                           |           |           |           |           |           |           |             |
block_indirect_sort        | 1.62  1.59| 0.94  0.87| 0.63  0.57| 0.50  0.44| 0.58  0.38| 0.55  0.35|    785 MB   |
                           |           |           |           |           |           |           |             |
sample sort                | 2.19  2.25| 1.69  1.54| 1.12  1.14| 1.18  1.14| 1.03  1.13| 1.09  1.17|   1565 MB   |
parallel stable sort       | 2.54  2.49| 1.69  1.52| 1.25  1.10| 1.10  1.03| 1.07  1.00| 1.05  0.97|   1175 MB   |
                           |           |           |           |           |           |           |             |



PrevUpHomeNext