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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] misc-confusable-identifiers checker is very slow
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy
      </td>
    </tr>

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

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

<pre>
    We're seeing the misc-confusable-identifiers checker be easily 10x slower than any other clang-tidy check. I think this check becomes slow in the presence of an identifier declared many times -- such as a large overload set.

The current implementation appears to be quadratic in the number of redeclarations of a given identifier.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMks2OnDAQhJ_GXFogMH8zBw4TrUbKPVLO_mmgs8YmbjMJefoIdqLZYy5wqqqvXK2YafKIg2i_iPYtU1uaQxz-7FNwgWymg92H7yhkHxEYkfwEaUZYiE1ugh83VtphThZ9opEwMpgZzTtG0AiomNwOVfkb2IVfGCHNyoPyO4Q0YwTjlJ_yRHb_kBXwFdJM_v34Pq1AowkL8mkB5E-ANSKjNwhhBOXhlQ8WjVMRLSxHTKJDmefAm5lBMShwKk4I4YHRBWWBMRWivIny9m1GMFuM6BPQsjpc0CeVKHhQ64oqMqRw1Pq5KRtVIvOPxm-LxniwRPzIP2V80sFED_yMWGR2qO21vqoMh6pvyrbuq7rL5mHUOOpW6XbUsr10usamLpu-ucprj8rYjAZZyraUsitlLauu6BpbyfaCl06O1pRaNCUuilzh3GMpQpwyYt5wqOSlv_aZUxodn2tL-Xp8IeWxfhwOVa63iUVTOuLEL59EyZ138knWvv3XJRDDA-N-Dpht0Q1zSiuL-ibkXcj7RGnedGHCIuT9yHv-8jWGH2iSkPezBAt5f_Z4DPJvAAAA__8Die93">