<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63486>63486</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clangd: PGO optimization results
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zamazan4ik
</td>
</tr>
</table>
<pre>
Hi!
Here I want to share my results with applying PGO on `clangd`. According to my local tests on AMD 5900x/48 Gib RAM/Fedora 38/Clang 16 (for building `clangd), `clangd` in Release mode without PGO finishes indexing `llvm-project` sources in ~10 minutes (9m55s), and `clangd` in Release mode with PGO (`fprofile-instr-generate`/`-fprofile-instr-use`) finishes indexing `llvm-projects` in ~8 minutes (7m50s - 7m55s). Tests were performed multiple times, with `clangd` cache reset between runs, on the latest `main` branch.
I think the results are quite good to add PGO support to `clangd` to the repository (as it's already done with `clang` itself). Another article about applying PGO on `clangd` you can find here: [JetBrains blog](https://blog.jetbrains.com/clion/2022/05/testing-3-approaches-performance-cpp_apps/)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEVM2O3DYTfBrOpTEDihr9HXSY3YVsf4DxBUbuQUtqSbQpUiFbGc8e_OwBuePYk0N8kQCxu7q6qkQMQc-WqBXFkyheDrjz4nz7iiu-oj3rL4fejbf2vRYqE_JFyMvb8z15gg9wRcvADsKCnmC9gaewGw5w1bwAbpu5aTvDb-_-D86CKOVg0M6jKOUJLsPg_BiP2cVW4wY0wBQ4xOLLxxcoGim_CtWda3ine_h0-ShU19HoPEJeC9U9RzjIShCqnpyHftcmQf4YpRqhnh9Gg7bwiQxhIFjdSIms2znRnLTVYaEA2o709Q5lzF_rcfPuMw0cAYLb_ZBq4FsmYdV2ZwqRRLMWRbjPRDv-em4aKlQtSjlt3k3a0FHbwP44kyWPTKKUQnWilMd_Fezh7az5NelwH_-t_plstRYywBGqO-kT_J7Uv0ZzN_KT8yuNsO6G9WYIWK8U4maJ-MNqAw4LRfeJoSe-Elnwu03VzgIvBAajt7FtRW1jU-_RDsvp51x9AF60_ZIavmcpRuvPXTPB7NwY04LjmHQL-7Y5nxL4wIbdHWBzQbPzt7gtBtAsVBUAjSccbzA6S4-7JJk4kJmSHBfreCEP6FkPhgD7GJP_ijXc3A4D2mjJCAt5EvkFRPH0P-Inj9oG6I2bRfEiVL0wb0Hkl2iv6uL302fiPpWdBrcK1Q1GOytUp6RSQnWyEKqLMmo7H_Mjbpt3UflwvNuFdqDjsG1_4LaFhNscxjYfm7zBA7VZWVdFJessOyxtVsliwiI7V3VDxSTP_TT1mJdUFGNVSnXQrZIql6U6y-wss-xUN3nVVFiXQyanoZbiLGlFbU4xayfn54MOYae2zM91eTDYkwnpZlHK0hXSoVAqXjS-Tfns9zmIszQ6cPiBwpoNtc9vouaXN6E31qt-RdbOfo_GYfemfVRx1rzs_V29CHh__fP7qi7RiOIkmn8HAAD__9wToJs">