123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- [/===========================================================================
- 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]
|