<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/83880>83880</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++] `ranges::ends_with` should forward to `equal`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++,
performance
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
philnik777
</td>
</tr>
</table>
<pre>
`equal` forwards to `memcmp` for trivially equality comparable types, which is an order of magnitude faster than the generic loop. We should make use of that optimization in `ends_with`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxMkcGOpCAQhp8GL5UxNIriwcPMdPoV9rgptZTaQXABp9P79BtNT2YSEhKgfuqrD1PixRP1Qr8JfS1wzzbEfrPsPH-0bVsMYXr0opH0d0cnGglziHeMU4IcQDRypXVct-cF5MifjM494HzP-QFjWDeMODiC_NgoCfUOd8ujBU6AHkKcKEKYYcXFc94nghlTpgjZoodsCRbyFHkEF8JWwi-CZMPuJljxg2BPdFRnixnClnnlf5g5eGB_9Ed-Sr_vnK1oZFlMfTV1VYcF9ZdWdrqtzUUXtq-oUbLRqkOjWoNGX5qOWjQ018bMShXcK6lqWcn60uqq0mWnRtSmHdDITuNMopa0IrvSuc-1DHEpOKWdelMZIwuHA7l0Tlkpx8Mo1Nu5lFDvQqmN4hziin6k40xfi9gfQS_DviRRS8cpp-_ozNmdzn5E6euBG9EvlET1KqrXn-hfI3vae8r7klrs0fU25-2sVDehbgtnuw_lGFahbsfHz-1li-EPjVmo2wmYhLqdjP8DAAD__3aTvZw">