Optlink Contribution

Jonathan Marler via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 30 12:50:34 PDT 2014


I like the discussion.  I do want to remind everyone that OPTLINK 
is very fast and switching to a different linker will likely 
result performance hit.  There are advantages to using COFF as it 
seems more compilers use that format and D would be more 
interoperable with other compilers and languages.  I think every 
peice of software has it's own goals which determine what 
tradeoffs to chose.  In my view, the linker should 1) always work 
and 2) be as fast as possible.  OPTLINK passes number 2 with 
flying colors but is does have bugs.  This is obviously due to 
the fact that it is written in assembly but keep in mind that the 
performance of the linker affects everyone who uses D.  Any 
performance hit on the linker will be seen in every single build 
of any D program. Adding 1 second to link time will add 1 second 
to build time since this process cannot be parallelized (as far 
as I know).

That being said, if it were up to me I wouldn't abandon OPTLINK 
so quickly.  I would spend time creating a test suite for 
OPTLINK, and try to comment the code a little better to encourage 
other developers to contribute.  Then I would consider adding 
support in DMD to generate COFF output files for those who want 
to link D object files with another linker. I wouldn't make this 
a huge priority though as one can use an OMF to COFF converter if 
they really needed it.


More information about the Digitalmars-d mailing list