This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement
- From: "potswa at mac dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Oct 2009 03:55:52 -0000
- Subject: [Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement
- References: <bug-41351-18186@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #37 from potswa at mac dot com 2009-10-30 03:55 -------
It seems like the goals are changing. Is this due to an approaching deadline?
The "super" algorithm is the product of making every case faster. Removing any
part of it (i.e. calls to std::copy) will regress performance of something. I
don't think it's too complicated. I'm attaching my code so you can actually see
it; I don't think I've shared it yet.
See my post from October 10. The forward iterator implementation is already a
stripped-down version of my algorithm. If we want simplicity, we can excise the
reverse and RAI implementations and not add anything. If you're serious about
this, I can benchmark that.
But, it shouldn't be such a surprise that performance and minimalism are
exclusive. The existing RAI algo also has forward and backward cases.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41351