[/===========================================================================
 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:windows_parallel 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.

]


[h4[_100 000 000 NUMBERS OF 64 BITS  RANDOMLY FILLED]]

[*[teletype]
``


                              |         |             |
                              |  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   |
                              |         |             |
``
]


[h4[_10 000 000   STRINGS  RANDOMLY FILLED]]

[*[teletype]
``

                              |         |             |
                              |  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   |
                              |         |             |

``
]

[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  |             |
    ---------------------------+-----------+-----------+-----------+-----------+-----------+-----------+-------------+
                               |           |           |           |           |           |           |             |
    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   |
                               |           |           |           |           |           |           |             |


``
]
[br]
[br]
]

[endsect]



