<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/84442>84442</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            libc++: No parallel execution with parallel STL
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc++
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Gei0r
      </td>
    </tr>
</table>

<pre>
    I know that the parallel STL implementation is still experimental, but according to [the status page](https://releases.llvm.org/18.1.0/projects/libcxx/docs/Status/PSTL.html#pstl-status), `for_each` should already be "complete".

However, with my test program, I don't see any parallization. The parallel algorithm takes the same time as the sequential version. I tested both libc++ 17.0.6 and 18.1.0 on both Windows and Linux.

[Compiler Explorer](https://godbolt.org/z/9sxfaqoqr)

What's wrong? Did I miss something?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsk9-Oq0YMxp_G3FiLJgYSuOBic1LaSKuq0q50LqsBHJiegWFnTP7s01ewaTetzg0Im_nG_vmzDsF0I3MJ2R6yQ6Rn6Z0vf2WjfFS79lYe8cfoLii9FpSecdJeW8sWX99e0AyT5YFH0WLciCZgEGMt8nVib9aEBfqG9Syom8b51owdikPI9otYEC1zwEl3DNkBKO9FpgDJM1AFVHm2rAOH2NrzEDvfAVWbPN7ECqiavPuLGwlAlTV1c70CVa1rlu_XVRao-uP17SXuZbBAyRTEPoV7pliqgq06Of8n66aHrcLQu9m2qK1n3d6wZgSixi0tCgNRDOoA6vnz-Zu78Jn9InMx0uNwQ-EgOHnXeT0s8SO2bgTaCQZm1OPtzs58rLRifHvEqW3nvJF-QNE_OKysgx4YxQyM-h7g95lHMdrimX1YVY7rxdxi7aTHBQXQHmiPm12s4i3qscVPaOjGz5--m7F1l7CmXsw4X__TGmT7b26YjGWPv1wn6zz7n02nc23trNzn8gFUFeF60u_u3S-AHxS_91qAdgEv3o0dJBUeTItHHEwIGNzA0ps1HrVl0hZJoSMuNztV5Hma0Tbqy0QVheK81pTybpM0m0K1NW2TWm8pVUUWmZIUpSpRudplGW3jIi10kas2T3JWJz5BqnjQxv7rpciEMHOZp2lKkdU127BuAdEXQyBatsKXy6Gneu4CpMqaIF-WjMSI5fLhTPKMv7uvwfKVm3ldj9Uoj_sTzd6W_4NqpJ_ruHHD4mt7_uf1dLc7ULXWvbh7Lf3vAAAA__93Sjbo">