public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/83938] Speed up inplace_merge() algorithm & fix inefficient logic
[not found] <bug-83938-4@http.gcc.gnu.org/bugzilla/>
@ 2020-03-12 11:58 ` jakub at gcc dot gnu.org
2020-11-19 13:26 ` redi at gcc dot gnu.org
2020-11-26 7:37 ` fdumont at gcc dot gnu.org
2 siblings, 0 replies; 3+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-03-12 11:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83938
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|9.3 |9.4
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 9.3.0 has been released, adjusting target milestone.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug libstdc++/83938] Speed up inplace_merge() algorithm & fix inefficient logic
[not found] <bug-83938-4@http.gcc.gnu.org/bugzilla/>
2020-03-12 11:58 ` [Bug libstdc++/83938] Speed up inplace_merge() algorithm & fix inefficient logic jakub at gcc dot gnu.org
@ 2020-11-19 13:26 ` redi at gcc dot gnu.org
2020-11-26 7:37 ` fdumont at gcc dot gnu.org
2 siblings, 0 replies; 3+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-19 13:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83938
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|9.4 |11.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug libstdc++/83938] Speed up inplace_merge() algorithm & fix inefficient logic
[not found] <bug-83938-4@http.gcc.gnu.org/bugzilla/>
2020-03-12 11:58 ` [Bug libstdc++/83938] Speed up inplace_merge() algorithm & fix inefficient logic jakub at gcc dot gnu.org
2020-11-19 13:26 ` redi at gcc dot gnu.org
@ 2020-11-26 7:37 ` fdumont at gcc dot gnu.org
2 siblings, 0 replies; 3+ messages in thread
From: fdumont at gcc dot gnu.org @ 2020-11-26 7:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83938
François Dumont <fdumont at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #8 from François Dumont <fdumont at gcc dot gnu.org> ---
Git commit for this PR hasn't been detected so here it is:
commit ba23e045fcb820e8d32dee361c4d048604d8d599
Author: François Dumont <fdumont@gcc.gnu.org>
Date: Wed Jan 22 17:55:54 2020 +0100
libstdc++: Limit memory allocation in stable_sort/inplace_merge (PR 83938)
Reduce memory allocation in stable_sort/inplace_merge algorithms to what is
needed
by the implementation.
Co-authored-by: John Chang <john.chang@samba.tv>
libstdc++-v3/ChangeLog:
PR libstdc++/83938
* include/bits/stl_tempbuf.h (get_temporary_buffer): Change __len
computation in the loop to avoid truncation.
* include/bits/stl_algo.h:
(__inplace_merge): Take temporary buffer length from smallest
range.
(__stable_sort): Limit temporary buffer length.
* testsuite/25_algorithms/inplace_merge/1.cc (test4): New.
* testsuite/performance/25_algorithms/stable_sort.cc: Test
stable_sort
under different heap memory conditions.
* testsuite/performance/25_algorithms/inplace_merge.cc: New test.
The added performance test didn't show any enhancement for the algo change so
only the innefficiency has been fixed.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-11-26 7:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-83938-4@http.gcc.gnu.org/bugzilla/>
2020-03-12 11:58 ` [Bug libstdc++/83938] Speed up inplace_merge() algorithm & fix inefficient logic jakub at gcc dot gnu.org
2020-11-19 13:26 ` redi at gcc dot gnu.org
2020-11-26 7:37 ` fdumont at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).