<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJzVVltvozgU_jXkxQKBuYUHHkjSzETKtFHKPMxTxcWAR8RGtunl388xkDZJ0-5K211pIwvi8x1_fJxbkvPyJTYCe1r2yrATA69htTS3iq4bTY-clqgy8NzAkREujHA1uV6cvGoc6A4ZZR_wuYvT05QppJ0ncETCyQXBp-ICAaj9KDLcFXJs28Ch_Xp1F4jqi2nSVwZ98IxlYLoQ8H-yv6Xgo1xcZsE1sAOJyHVo13kmm9Oo1wZewIKYPRIhKWejuWgz9gE0XknRcMgG_rZcoieqGrTbprC9IJVNJkiJppJC5p2LTD5sJT93PZbJBB5dh4IYHBU9ELRdPWw3i32y__WwS9LvUAT6mdiDOHVPpQ4Vxsiaqu4zubxXX664YtzsWvVvSV_qlLyP9Vmm_lr9qft_FPM34ZdR_0rtXx_9vzHijmqABioLaJDjWI41oUvevQhaN0rjA4pt7KC1IATd80o9wQujNe9ZmSndXniJNqywxsNpQyWCVWlvOXnr6SZhrxpt60VBhqlYwIMoxLjgrKSaSloIpQ0BemC4vRsZgUBkTL1oEsYVIo-EDcd_3OyX35PbNFlstpv0FwLTepPe3tzfo_XdHiVol-zTzfLnNtmj3c_97u7-xjoNypAXNA0J5LiWfYxAmomaKMNN0PM8eAg8syvMlrL-2axZf3xPQbISHXhJWu3YcUmfR2jDpMralpQrKjQE6emlmEbZ4HE2fU4UAWVr2JF98K3ACeVo7CURk9GPoskoX-RgA8m2J89Zj-V6jdizfCe4JPYsL5pfIcaT7aKFrwv2Q_eK4ABf4XXe8X4mObCi6B01GMPwE-qLgp-VsVtGbpTNsh6eJuJNzYaKm_WijRulOgmZGn_5a9DTQzPzg_5X0T4eb2Yn-G9SKNhSKXsi4YuPIzeYNbFLwmheZblXZXZJomyekyIMPLdySJUHXjVrs5y0MjZ86DvMyBMaKHQz-6vZP1dAY92iDnYd27F9F1t2kVeBTRzfI27uzyvDswnMiNbSPBYX9UzEA2Xe1xLAlkol38BMSlozQgbBoFBR1ZL4dVgVGSRCoo6Iih8yVpDxdeRYIz0TXJc_9HVJZgMSDzL_APtXrR4>52936</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            -fno-plt causes perfomance issues with unrolled code
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    ```
//lib.cpp
void f(){}
```

```
//main.cpp
void f();

int main()
{
    for (int i = 100'000'000; i; --i)
    {
        f();
        f();
        f();
        f();
        f();
        f();
        f();
        f();
    }
}
```
```
#!/bin/bash

g++ --version
clang++ --version

echo "GCC with PLT"
g++ -shared lib.cpp -O3 -o lib.so
g++ main.cpp lib.so -O3 -o main
time LD_LIBRARY_PATH="$(pwd)" ./main

echo "GCC without PLT"
g++ -shared lib.cpp -O3 -o lib.so
g++ main.cpp lib.so -fno-plt -O3 -o main
time LD_LIBRARY_PATH="$(pwd)" ./main

echo "Clang with PLT"
clang++ -shared lib.cpp -O3 -o lib.so
clang++ main.cpp lib.so -O3 -o main
time LD_LIBRARY_PATH="$(pwd)" ./main

echo "Clang without PLT"
clang++ -shared lib.cpp -O3 -o lib.so
clang++ main.cpp lib.so -fno-plt -O3 -o main
time LD_LIBRARY_PATH="$(pwd)" ./main
```

```
g++ (GCC) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

clang version 13.0.0
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
GCC with PLT

real    0m5.617s
user    0m5.599s
sys     0m0.004s
GCC without PLT

real    0m4.516s
user    0m4.498s
sys     0m0.002s
Clang with PLT

real    0m5.573s
user    0m5.562s
sys     0m0.001s
Clang without PLT

real    0m6.993s
user    0m6.977s
sys     0m0.001s
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzVVktvozoU_jVkY4HAvMKCBUmamUiZNkqZxawqHgY8IjayTR__fo6BtEmadu6i90o3skh8zufPH-el5Lx8iY3Anpa9MuzEwGtYLc2toutG0yOnJaoMPDdwZIQLI1xN0IuTV40D3SGj7AM-d3F6mjKFNHhyjp5wgiD4VFwgcGocRYa7Qo5tGzi0X5_uAlH9ME36yqAPnrEMTBcC_k_2txR8lIvLLLgGdiARuQ7tOs9kcxr12sALWBCzRyIk5Ww0F23GPnCNT1I0HLKBvy2X6ImqBu22KWwvSGWTCVKiqaSQeecikw9byc-hxzKZnEfoUBADUNEDQdvVw3az2Cf7Xw-7JP0ORaDvxB7EqXsqdagwRtZUdZ_J5b36csUV42bXqn9L-lKn5H2szzL1d_Wn8P8o5m_CL6P-ldq_Pvr_YMQd1QANVBbQIMexHGvyLnn3ImjdKO0fvNjGDloLQtA9r9QTvDBa856VmdLthZdowwprPJw2VCJYlUbLCa2nm4S9arStFwUZpmIBF1GIccFZSTWVtBBKGwL0wHB7NzICgciYetEkjCtEHgkbjv-42S-_J7dpsthsN-kvBKb1Jr29ub9H67s9StAu2aeb5c9tske7n_vd3f2NdRqUIS9oGhLIcS37GIE0EzVRhpug53nwEHhmV5gtZf2zWbP--J6CZCU68JK0GthxSZ9H14ZJlbUtKVdUaBekp5diGmUD4mz6nCgCytawI_vgW4ETytHYSyImox9Fk1G-yMEGkm1PnrMey_UasWf5TnBJ7FleNL9CjCfbRQtfF-yH7hXBAb7C67zj_UxyYEXRO2owhuEn1BcFPytjt4zcKJspqloSv7ZdkQGlRB0RFT9krNCVJ3uwDG_bM8F1IqFCSzLrRRs3SnUSkjr-SagB1EPf84P-A9I-Hr_MTvDfpFCwHengh48jN5g1sefkoRPNA1KVcz_K7XkwzyO_KHEWRJlfhLM2y0krY8OHFsWMPI2KdN_7qxmNdS862HVsx_ZdbNlFXgU2cXyPuLk_rwzPJjAMWkvrsLioZyIeJOV9LcHZUqnkmzOTktaMkOE64M96SIaINzUbGnI23B0P2v8AG2iWkQ">