Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-16 Thread François Dumont
On 1/16/20 5:01 PM, Jonathan Wakely wrote: On 16/01/20 13:25 +, Jonathan Wakely wrote: On 16/01/20 07:42 +0100, François Dumont wrote: On 1/15/20 10:52 PM, Jonathan Wakely wrote: On 15/01/20 21:48 +, Jonathan Wakely wrote: On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-16 Thread Jonathan Wakely
On 16/01/20 13:25 +, Jonathan Wakely wrote: On 16/01/20 07:42 +0100, François Dumont wrote: On 1/15/20 10:52 PM, Jonathan Wakely wrote: On 15/01/20 21:48 +, Jonathan Wakely wrote: On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-16 Thread Jonathan Wakely
On 16/01/20 07:42 +0100, François Dumont wrote: On 1/15/20 10:52 PM, Jonathan Wakely wrote: On 15/01/20 21:48 +, Jonathan Wakely wrote: On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20 22:41 +0100, François Dumont wrote: For the mul

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-15 Thread François Dumont
On 1/15/20 10:52 PM, Jonathan Wakely wrote: On 15/01/20 21:48 +, Jonathan Wakely wrote: On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20 22:41 +0100, François Dumont wrote: For the multi-keys we could still avoid redundant comparison

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-15 Thread Jonathan Wakely
On 15/01/20 21:48 +, Jonathan Wakely wrote: On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20 22:41 +0100, François Dumont wrote: For the multi-keys we could still avoid redundant comparisons when _Equal is just doing == on the key ty

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-15 Thread Jonathan Wakely
On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20 22:41 +0100, François Dumont wrote: For the multi-keys we could still avoid redundant comparisons when _Equal is just doing == on the key type. On unordered_multiset we could just avoids t

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-14 Thread François Dumont
On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20 22:41 +0100, François Dumont wrote: For the multi-keys we could still avoid redundant comparisons when _Equal is just doing == on the key type. On unordered_multiset we could just avoids the call to is_permuation and on the unordered_mu

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-13 Thread Jonathan Wakely
On 13/01/20 22:41 +0100, François Dumont wrote: On 1/10/20 11:01 PM, Jonathan Wakely wrote: On 10/01/20 18:54 +0100, François Dumont wrote: Hi     Here is my attempt to improve == operator.     There is a small optimization for the std::unordered_mutiXXX containers but the main enhancement r

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-13 Thread François Dumont
On 1/10/20 11:01 PM, Jonathan Wakely wrote: On 10/01/20 18:54 +0100, François Dumont wrote: Hi     Here is my attempt to improve == operator.     There is a small optimization for the std::unordered_mutiXXX containers but the main enhancement rely on some partial template specialization of t

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-10 Thread Jonathan Wakely
On 10/01/20 22:01 +, Jonathan Wakely wrote: On 10/01/20 18:54 +0100, François Dumont wrote: Hi     Here is my attempt to improve == operator.     There is a small optimization for the std::unordered_mutiXXX containers but the main enhancement rely on some partial template specialization

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-10 Thread Jonathan Wakely
On 10/01/20 18:54 +0100, François Dumont wrote: Hi     Here is my attempt to improve == operator.     There is a small optimization for the std::unordered_mutiXXX containers but the main enhancement rely on some partial template specialization of the _Equality type. I limit it to usage of uno

[PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-10 Thread François Dumont
Hi     Here is my attempt to improve == operator.     There is a small optimization for the std::unordered_mutiXXX containers but the main enhancement rely on some partial template specialization of the _Equality type. I limit it to usage of unordered containers with std::equal_to to be sure