This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RFA: performance improvement for PowerPC disassembly

The VLE port caused me to look at performance here. Currently we use a simple linear search. A binary search seemed like a big change with potential problems for matching the correct extended mnemonic. Instead, I modified the existing linear search to start "near" the desired value rather than always at the beginning of the table. This gives substantial performance gains with minimal new complexity.

On I built powerpc-unknown-linux-gnu with and w/o this patch.
These are median times:
$ time install/bin/objdump-00 -d /lib/ >/dev/null
real 0m1.539s
user 0m1.529s
sys 0m0.009s
$ time install/bin/objdump-01 -d /lib/ >/dev/null
real 0m0.870s
user 0m0.851s
sys 0m0.007s

Dejagnu test results before and after the patch are identical for gas, binutils, ld, gcc, g++, and gfortran.
A bootstrap of powerpc-unknown-linux-gnu is running now.

Jim Lemke
Mentor Graphics / CodeSourcery
Orillia Ontario,  +1-613-963-1073

Attachment: dis-binutils-contrib-01a.diff
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]