From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22014 invoked by alias); 6 Oct 2010 11:10:35 -0000 Received: (qmail 21999 invoked by uid 22791); 6 Oct 2010 11:10:34 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,MISSING_MID X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 06 Oct 2010 11:10:30 +0000 From: "joaquin at tid dot es" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/41975] [C++0x] [DR579] unordered_set::erase performs worse when nearly empty X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: joaquin at tid dot es X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: paolo.carlini at oracle dot com X-Bugzilla-Target-Milestone: 4.5.2 X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Wed, 06 Oct 2010 11:10:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-10/txt/msg00512.txt.bz2 Message-ID: <20101006111000.7q8Wy3_ZuHEwuufbPyY3GN6Bpk9-FT4IYvqC8KzxtfU@z> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D41975 --- Comment #31 from Joaqu=C3=ADn M L=C3=B3pez Mu=C3=B1oz 2010-10-06 11:10:12 UTC --- Paolo, I've read the minutes and seems no strong consensus was reached. I think it'd be useful if the issue can be reopened, at least for informative purposes, so that the committe specify whether it's in the spirit of the standard to allow low memory (singly-linked, one word per node) implementations, and if so what the likely implementations are (I understand this is Pablo's third approach). If this is the case the FCD has to be changed so as to allow erase() to throw. Otherwise implementors will know we have to resort to doubly-linked solutions.