[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-28 Thread h2+bugs at fsfe dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #19 from Hannes Hauswedell --- One last question: will the fix be backported to GCC7('s libstdc++)? Thanks!

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-20 Thread h2+bugs at fsfe dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #18 from Hannes Hauswedell --- Thanks for the quick responses and the fix!

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-19 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #17 from Marc Glisse --- (In reply to Jonathan Wakely from comment #14) > The advantage of doing it as in comment 13, rather than: > [comment #11] > is that when inserting the inputrange causes reallocations we only have to > transfer

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 Jonathan Wakely changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #15 from Jonathan Wakely --- Author: redi Date: Wed Jul 19 19:32:15 2017 New Revision: 250366 URL: https://gcc.gnu.org/viewcvs?rev=250366&root=gcc&view=rev Log: PR libstdc++/81476 Optimise vector insertion from input iterators

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #14 from Jonathan Wakely --- Oops, the rotate needs to be done unconditionally. The advantage of doing it as in comment 13, rather than: (In reply to Marc Glisse from comment #11) > switch to the "new allocation" strategy, create a

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #13 from Jonathan Wakely --- (In reply to Marc Glisse from comment #11) > Or one could (not legal) directly start a new allocation, copy the beginning > of the vector, append the range, then append the end of the vector. Or a > combin

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #12 from Jonathan Wakely --- (In reply to Marc Glisse from comment #10) > Inserting an InputRange (not even Forward) at the beginning of a vector is > really a misuse of vector. It is true that we can do better than what > libstdc++ c

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-19 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #11 from Marc Glisse --- Or one could (not legal) directly start a new allocation, copy the beginning of the vector, append the range, then append the end of the vector. Or a combination of all that: first try appending the range to t

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-19 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #10 from Marc Glisse --- Inserting an InputRange (not even Forward) at the beginning of a vector is really a misuse of vector. It is true that we can do better than what libstdc++ currently does, though we shouldn't encourage the prac

[Bug libstdc++/81476] severe slow-down with range-v3 library compared to clang

2017-07-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 Jonathan Wakely changed: What|Removed |Added Status|WAITING |NEW Component|c++