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]

Performance issue with GNU/ld and DLL


Hello,

This is a performance issue report when building DLL on Windows. To
reproduce I have attached a python script (to generate C files).

The steps to reproduce are:

Run gen.py on an empty directory.

$ gcc -c *.c

$ time gcc -o main.exe *.o

takes 0.4 seconds.

$ time gcc -shared -o dll.dll *.o

takes 12 seconds.

It seems that the times goes exponentially. I had generated 1000 files
instead of 200 (N=1000 in gen.py) and I had to kill the linker command
after 10 minutes.

Is that a known problem?

Is there a workaround?

Thanks in advance.

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

#! /usr/bin/python

m = open ("main.c", "w")
m.write ("void main ()\n");
m.write ("{\n")

N=200

for k in range(1,N):
    f = open ("file" + str(k) + ".c", "w")
    for n in range(1,N):
        f.write ("void call" + str(k) + "_" + str(n) + "() {}");
    f.close
    m.write ("   call" + str(k) + "_" + str(k) + " ();\n");

m.write ("}\n")
m.close

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