[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread de...@the-user.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #12 from Jonathan Schmidt-Dominé 2011-08-23 19:31:37 UTC --- “Any particular reason?” No particular one, but a small specialisation would be nicer than changing everything or doing bitfiddling.

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #11 from Marc Glisse 2011-08-23 19:16:40 UTC --- (In reply to comment #8) > For my application I should simply use an unordered_map and all the overhead > has gone. :D Great. > “I haven't thought about the potential drawbacks of imp

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread de...@the-user.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #10 from Jonathan Schmidt-Dominé 2011-08-23 19:15:20 UTC --- There seem to be a lot of tricks to achieve that: http://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith64BitsDiv

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread de...@the-user.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #9 from Jonathan Schmidt-Dominé 2011-08-23 19:10:06 UTC --- Hmm, reversing really is not that nice.

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread de...@the-user.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #8 from Jonathan Schmidt-Dominé 2011-08-23 19:04:25 UTC --- For my application I should simply use an unordered_map and all the overhead has gone. :D But operator< simply should not be that slow. “I haven't thought about the potentia

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #7 from Marc Glisse 2011-08-23 18:35:57 UTC --- If I understand correctly, operator< is supposed to give a lexicographic order, and vector stores {true,false,false} as 1 and {false,false,true} as 4, so we can't just make operator< com

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread de...@the-user.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #6 from Jonathan Schmidt-Dominé 2011-08-23 18:29:19 UTC --- Ok, I can write a patch and test if it is actually faster (it should). Is there any coding-guide line (style, variables etc.)?

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread de...@the-user.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #5 from Jonathan Schmidt-Dominé 2011-08-23 18:26:48 UTC --- In libc++ it seems to be the same, specialised hashing, but no specialised comparison. Ok, I can write a patch and test if it is actually faster (it should). Is there any cod

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread de...@the-user.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #4 from Jonathan Schmidt-Dominé 2011-08-23 18:21:36 UTC --- In libc++ it is the same, specialised hash, but no specialised operator<.

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #3 from Paolo Carlini 2011-08-23 16:31:40 UTC --- I meant: which improvement do you expect, in practice? I supposed you are aware if other implementations of the library already including the optimization. I'm looking for some concret

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread de...@the-user.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #2 from Jonathan Schmidt-Dominé 2011-08-23 13:50:09 UTC --- Well, it made my specific application very slow, when using vector as key_type for (ordered) map. What kind of numbers would be usefull? I think it should simply have a spec

[Bug libstdc++/50160] vector comparison very slow (no specialisation)

2011-08-23 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160 --- Comment #1 from Paolo Carlini 2011-08-23 08:14:06 UTC --- Do you have some numbers? Of course we can make progress on this, but we'd like to know when it's good enough.