bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/24499] New: [PATCH] objcopy: provide cache for gnu_debugli


From: janisozaur+sourceware at gmail dot com
Subject: [Bug binutils/24499] New: [PATCH] objcopy: provide cache for gnu_debuglink's target CRC
Date: Sun, 28 Apr 2019 21:48:15 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=24499

            Bug ID: 24499
           Summary: [PATCH] objcopy: provide cache for gnu_debuglink's
                    target CRC
           Product: binutils
           Version: 2.33 (HEAD)
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: janisozaur+sourceware at gmail dot com
  Target Milestone: ---

Created attachment 11754
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11754&action=edit
0001-objcopy-provide-cache-for-gnu_debuglink-s-target-CRC.patch

I noticed objcopy takes really long time to complete some actions, namely
objcopy --add-gnu-debuglink=foo.a.dbg foo.a.

Upon investigation I found out it calculates the CRC32 of immutable foo.a.dbg
for each of the entries in foo.a.

I have added a place to cache the calculated CRC value, based on following
observations:
* The gnu_debuglink filename is immutable and provided only once
* The target file is not expected to be changed ever
* There are already some global-scoped variables for objcopy

This provided expected speedup: over 200x faster than before on 14MiB foo.a
containing 298 entries and 136MiB foo.a.dbg.

I hope the attached patch is of sufficient quality.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]