I have strange situation on linking for PE under win32 and linux.
When I run link under win32, they work about 8 min and uses more than
200 Mb RAM.
When I run link same project under linux using cross-compilled mingw,
I give 1.5 min link time and 60 Mb used RAM.
Why equal versions (GNU ld version 2.13.90 20030111) of binutils give
too different results?
Object files are build from C++ with using lots of templates.
Does any body works at this time to improve performance of linking for
PE under win32?
I have big interest to improve ld for win32, and can help in patching
ld or bfd.
> I have strange situation on linking for PE under win32 and linux.
> When I run link under win32, they work about 8 min and uses more than
> 200 Mb RAM.
This seems pretty significant to me. First, make sure there aren't any
external factors such as libtool that might be slowing this down.
> Why equal versions (GNU ld version 2.13.90 20030111) of binutils give
> too different results?
If you're interested in investigating this, I might recommend building a
crosscompiler to another COFF target, such as i386-coff, to get a better
performance comparison. It would be good to know if the problem was
PECOFF-specific, or more generally COFF-specific.
Beyond this, the thing to do here is to build all of these
crosscompilers with profiling enabled. gprof is the way to go here,
unless you have something better. Since the performance difference is
so significant, profiling may be very helpful.
> Does any body works at this time to improve performance of linking for
> PE under win32?
I don't know, but there are a few people interested in making
performance improvements to binutils in general. Most people are
interested in ELF targets, though.