This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/54075] [4.7.1] unordered_map insert 3x slower than 4.6.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54075

Martin Cracauer <cracauer at cons dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |cracauer at cons dot org

--- Comment #26 from Martin Cracauer <cracauer at cons dot org> 2012-10-22 20:50:25 UTC ---
I'm afraid this doesn't quite do it.

I still observe a > 60% slowdown going from gcc-4.4 to gcc-4.7, with this fix
already in, specifically for insert().  It's a 320,000 member table I am
dealing with here.

I can make 4.7 be as fast as 4.4 by preemptively setting the reserve to what I
know (for this test) to be the maximum size I need, but measured resident
memory shoots up (not unexpected). And resident memory of the 4.7 build was
already higher than 4.4 so I don't think this can be the answer here.

Playing with the load factor resulted in a minor speedup with 0.4 (from 1.0),
but not reaching 4.4 performance. Other load factors (lower than 0.4 and higher
than 1.0) are even slower.

Is there more specific information available about the tradeoff numbers that
made GNU pick this new implementation?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]