[PATCH][libstdc++-v3 parallel mode] Enable user-defined swap
François Dumont
francois.cppdevs@free.fr
Mon Mar 7 20:10:00 GMT 2011
Hi
Sorry if this is trivial but I don't really understand the rational
of such modifications.
It is supposed to have libstdc++ use user defined overloads of swap
when available. But if so shouldn't it be overloaded in the std
namespace ? I remember having read something like that but I am not sure
it was in the C++ Standard or it was about the swap algo.
If we open libstdc++ to use swap defined in any namespace shouln't
we do the same for all other algos used internally. For instance this
patch use std::iter_swap, shouldn't it use:
using std::iter_swap;
iter_swap(...);
Regards
On 02/25/2011 03:09 PM, Johannes Singler wrote:
> On 01/24/2011 07:12 PM, Benjamin Kosnik wrote:
>>
>>> Also commit to gcc-4_5-branch?
>>
>> Ok.
>>
>> -benjamin
>
> The following patch enables user-defined swap for parallel sorting and
> the like, which can improve performance.
>
> Tested x86_64-unknown-linux-gnu: No regressions
>
> Committed.
>
> 2011-02-25 Johannes Singler <singler@kit.edu>
>
> PR libstdc++/47433
> * include/parallel/losertree.h
> (_LoserTree<>::__delete_min_insert):
> Do not qualify swap with std:: for value type,
> but include a using directive instead.
> (_LoserTreeUnguarded<>::__delete_min_insert): Likewise.
> * include/parallel/balanced_quicksort.h (__qsb_divide):
> Use std::iter_swap instead of std::swap.
> (__qsb_local_sort_with_helping): Likewise.
> * include/parallel/partition.h (__parallel_partition):
> Likewise. (__parallel_nth_element): Likewise.
>
> Johannes
More information about the Libstdc++
mailing list