[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.
- [Bug binutils/24499] New: [PATCH] objcopy: provide cache for gnu_debuglink's target CRC,
janisozaur+sourceware at gmail dot com <=