[RFC] parallel/tree.h?
Johannes Singler
singler@ira.uka.de
Wed Apr 30 08:56:00 GMT 2008
Hi,
>>> It would be great. Because, otherwise, I don't think we should deliver
>>> tree.h, in 4.3.0 at least, it's totally undocumented and unused
>>> elsewhere (by the way, booted and tested without it, to be sure)
>>>
>> Well, it is used for parallel bulk insertion into std::(multi)set/map.
>> But you are right, currently, the code is not activated, the bindings
>> got lost during the integration. However, we are working on a version
>> that uses the code, and we have already fixed some of the compliance
>> issues in there.
We now have a version ready that activates the parallel tree code. Find
the patch attached. AFAICS, there are no regressions with respect to the
testsuite, except one, which is related to the movable stuff (see other
mail) a "singular" iterator. But where does a singular iterator appear in
FAIL: 23_containers/map/modifiers/insert/16813.cc execution test
?
>> We should reconsider this whole thing after we have the improved the
>> code.
> Ok, many thanks for the clarification. Therefore, for now, better
> removing it, I think there are no problems with adding it back the final
> version of it.
>
> In the meanwhile, I tried to understand a bit myself whether we could
> keep it for 4.3.0, by adding some minimal documentation, to allow the
> users experimenting with it, as a replacement parallel version of
> _Rb_tree. The problem is that, as-is, <parallel/tree.h> doesn't compile;
> moreover, as already noticed, huge functions would have to be split or
> moved out of line and, more importantly, the user interface is not the
> same of the normal _Rb_tree, therefore cannot be a drop-in replacement
> anyway...
Why is the user interface not the same? I think we kept it pretty much
the same.
Ok, so what has to be done to the code in order to get accepted (except
the formatting, of course)?
Splitting up into smaller pieces? More documentation?
The algorithm itself is documented here:
<http://algo2.iti.uni-karlsruhe.de/singler/mcstl/parallelbulkoperations.pdf>
Bye,
Johannes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tree_map_set.patch
Type: text/x-patch
Size: 146484 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20080430/40064e54/attachment.bin>
More information about the Libstdc++
mailing list