From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 25D903945C2F; Tue, 1 Jun 2021 16:36:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 25D903945C2F From: "simark at simark dot ca" To: gdb-prs@sourceware.org Subject: [Bug symtab/27937] Performance regression of 8% due to assert in dwarf/read/attribute.h Date: Tue, 01 Jun 2021 16:36:16 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: symtab X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: simark at simark dot ca X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gdb-prs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-prs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jun 2021 16:36:17 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D27937 Simon Marchi changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |simark at simark dot ca --- Comment #1 from Simon Marchi --- I sometimes wonder if we should have a gdb_assert version that is only enab= led in development builds, that we could use in very hot paths like this one, without affecting performance of production builds. On one hand, it's not = good because problems could go unnoticed in production builds. But if the alternative is removing the assert because it is too costly, then having it only in development builds is better than nothing. Also, I was wondering if this would have any effect on your measurements: diff --git a/gdbsupport/gdb_assert.h b/gdbsupport/gdb_assert.h index 00553a786135..74dcd653cc4e 100644 --- a/gdbsupport/gdb_assert.h +++ b/gdbsupport/gdb_assert.h @@ -32,7 +32,7 @@ replacing. */ #define gdb_assert(expr)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 \ - ((void) ((expr) ? 0 :=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 \ + ((void) (__builtin_expect ((expr), 0) ? 0 :=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 \ (gdb_assert_fail (#expr, __FILE__, __LINE__, FUNCTION_NAME), 0))) /* This prints an "Assertion failed" message, asking the user if they --=20 You are receiving this mail because: You are on the CC list for the bug.=