From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 82026 invoked by alias); 18 Dec 2019 08:30:04 -0000 Mailing-List: contact dwz-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: dwz-owner@sourceware.org Received: (qmail 81735 invoked by uid 48); 18 Dec 2019 08:30:00 -0000 From: "vries at gcc dot gnu.org" To: dwz@sourceware.org Subject: [Bug default/25291] New: create_import_tree phase 2 slowness Date: Tue, 01 Jan 2019 00:00:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: dwz X-Bugzilla-Component: default X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: vries at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: nobody at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc target_milestone Message-ID: 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-SW-Source: 2019-q4/txt/msg00175.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D25291 Bug ID: 25291 Summary: create_import_tree phase 2 slowness Product: dwz Version: unspecified Status: NEW Severity: enhancement Priority: P2 Component: default Assignee: nobody at sourceware dot org Reporter: vries at gcc dot gnu.org CC: dwz at sourceware dot org Target Milestone: --- With the odr patches series, but with odr disabled we have for the clang-10 benchmark: ... $ dwz clang-10.debug -o 1 -lnone -Lnone --devel-progress --no-odr read_debug_info .debug_info user: 59.70 sys : 3.29 partition_dups user: 1.20 sys : 0.01 partition_dups qsort user: 1.64 sys : 0.00 partition_dups after qsort user: 1.64 sys : 0.35 create_import_tree phase 1 user: 0.44 sys : 0.01 create_import_tree phase 2 user: 1.35 sys : 0.00 create_import_tree phase 3 user: 1.26 sys : 0.00 create_import_tree phase 4 (create partial units) user: 0.24 sys : 0.02 read_debug_info .debug_types user: 1.36 sys : 0.00 compute_abbrevs user: 37.41 sys : 0.31 write_abbrev user: 0.09 sys : 0.00 write_info user: 12.48 sys : 0.86 write_loc user: 3.63 sys : 8.69 write_types user: 0.00 sys : 0.00 write_gdb_index user: 0.17 sys : 0.28 write_dso user: 0.18 sys : 2.32 ... And with --odr --odr-mode=3Dbasic: ... $ dwz clang-10.debug -o 1 -lnone -Lnone --devel-progress --odr --odr-mode= =3Dbasic read_debug_info .debug_info user: 46.39 sys : 3.36 partition_dups user: 2.14 sys : 0.01 partition_dups split_dups user: 99.34 sys : 0.51 partition_dups qsort user: 4.82 sys : 0.00 partition_dups after qsort user: 3.76 sys : 0.23 create_import_tree phase 1 user: 1.02 sys : 0.02 create_import_tree phase 2 user: 48.87 sys : 0.00 create_import_tree phase 3 user: 11.73 sys : 0.00 create_import_tree phase 4 (create partial units) user: 2.78 sys : 0.05 read_debug_info .debug_types user: 1.40 sys : 0.00 compute_abbrevs user: 46.84 sys : 0.35 write_abbrev user: 0.08 sys : 0.00 write_info user: 8.48 sys : 0.97 write_loc user: 0.82 sys : 0.58 write_types user: 0.00 sys : 0.00 write_gdb_index user: 0.21 sys : 0.48 write_dso user: 0.07 sys : 1.34 ... The largest addition in time is the odr phase split_dups, which is a known issue. But the second largest addition is in create_import_tree phase 2, from 1.35= s to 48.87. It would be good to understand how this increase happens, and if we = can reduce it. --=20 You are receiving this mail because: You are on the CC list for the bug.