This is the mail archive of the binutils@sourceware.org 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]

DLL loading performance


Hi there!

Another performance issue but this time it is a load time performance.
That is the time to load dynamically a DLL has regressed by a factor of 50.

My current investigation point to this commit:

<<
commit f7a18150a5b93a8efce08e76b00b4f3a4a04c151
Author: Kai Tietz <kai.tietz@onevision.com>
Date:   Fri Nov 6 15:50:55 2009 +0000

    2009-11-06  Kai Tietz  <kai.tietz@onevision.com>

            * pe.em (DEFAULT_PSEUDO_RELOC_VERSION): New macro.
            (gld_XXX_before_parse): Set pseudo-relocation default
            version to DEFAULT_PSEUDO_RELOC_VERSION.
            (gldXXX_handle_option): Likewise.
>>

Indeed a linker (not changing the compiler) build before this date
create a DLL which loads (just calling Win32 LoadLibrary) in 0.8s and a
linker built after this commit create a DLL which loads in 40s.

This TN move 32bits Windows from runtime pseudo reloc v1 to v2.

Does this rings a bell? Any idea to what could be so slow in v2? Any
information about v1 vs v2, what has been changed?

If I want to debug this, where should I start looking?

Thanks in advance for any assistance resolving this issue.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|    http://www.obry.net  -  http://v2p.fr.eu.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver keys.gnupg.net --recv-key F949BD3B


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