sort/doc/linux_parallel.qbk

115 lines
4.7 KiB
Plaintext

[/===========================================================================
Copyright (c) 2017 Steven Ross, Francisco Tapia, Orson Peters
Distributed under the Boost Software License, Version 1.0
See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt
=============================================================================/]
[section:linux_parallel 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
]
[h4[_100 000 000 NUMBERS OF 64 BITS RANDOMLY FILLED]]
[*[teletype]
``
| | |
| 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 |
| | |
``
]
[h4[_10 000 000 STRINGS RANDOMLY FILLED]]
[*[teletype]
``
| | |
| 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 |
| | |
``
]
[h4[_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
]
]
[*[teletype]
``
| | | | | | | |
| 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 |
| | | | | | | |
``
]
]
[endsect]