This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
RE: Re[2]: GAS
- From: "Zagorodnev, Grigory" <grigory dot zagorodnev at intel dot com>
- To: "Stas Kiselev" <stas_kiselev at bk dot ru>, <binutils at sources dot redhat dot com>
- Date: Tue, 5 Apr 2005 09:45:36 +0400
- Subject: RE: Re[2]: GAS
[tacking the post back to mailing list so more people may attend]
It looks like we can slightly improve performance of 'hash_lookup'
function, which is platform-independent nevertheless.
The idea is: huge input file implies huge symbol tables, that results
more hash function collisions. Thus increasing the DEFAULT_SIZE of hash
we can reduce the number of collisions and therefore speedup execution.
Stas, would you try this on your sources, please?
You can get more hash table runtime statistics (like number of lookups
or comparisons) with '--statistics'. That requires HASH_STATISTICS
defined at gas build time.
- Grigory
>-----Original Message-----
>From: Stas Kiselev [mailto:stas_kiselev@bk.ru]
>Sent: Monday, April 04, 2005 8:39 PM
>To: Zagorodnev, Grigory
>Subject: Re[2]: GAS
>
>Yes, I have been profiling it, but I don't know architecture of gas.
>Where can I get it ? What kind of blocks GAS consists of ? How they are
>interconnected ?
>
>After profiling I found out the most time consuming functions. There
some
>of them listed bellow:
>hash_lookup 15.4%
>sparc_ip 13.5%
>read_a_source_file 4.6%
>do_scrub_chars (process input files 6.8%
>srtncpy (standard C function ) 7%
>strncmp (standard C function ) 6%
>strcmp (standard C function ) 3.5%
>
>Is it a good idea to rewrite srtncpy, strncmp an strcmp ?
>I am interested only in Sun, Windows and Linux. What kind of functions
can
>I delete in order ot speed up GAS?
>What do you reccomend me to start ?
>I interested only in time of generating obj file. I am not interested
in
>optimisation of obj file.