On Tue, 25 Dec 2012, Martin Schreiber wrote:
On Tuesday 25 December 2012 11:20:02 Michael Van Canneyt wrote:
Everybody is aware of the speed difference between Delphi and FPC.
The compiling itself (parsing/producing assembler code) is not slow.
From what I remember, the problems you (and everyone else) experience
with smartlinking and so on are largely due to the GNU linker being
slow and memory hungry.
AFAIK there are significant differences in parsing and code producing too.
I suggest that Florian answers this, he has more exact numbers.
Last time I checked on Windows with the internal FPC linker Delphi 7 compiled
and linked about 10 times as fast as FPC.
AFAIK it is still linker related: the assembler files are on disk,
the structure of the files is geared towards the GNU toolchain etc.
What concerns produced code: I think that the largest speed gain there
will come from a reorganisation of the exception handling.
What concerns 'stripping the unnecessary' : if you are talking
about language features, I doubt you will gain much speed by that.
The goal here is to reduce the count of the used different concepts so one has
not to learn much to tap the full potential of the language.
This is a goal I fully support.
And I consider it a perfect fit for a mode switch.
I am also fairly confident that if you would create a patch to
introduce a new compiler mode switch {$MODE D7} which would
selectively enable/disable some language features to "go back
to the roots", it would be accepted. (I myself would use it ;))
It would unfortunately blow up the code base again.
By about 10 lines in the compiler, so this is hardly an argument.
And - assuming you don't insist on forking - there will be more
people to manage these 10 lines.
As we've explained elsewhere, not breaking things is always an
important thing, so no-one would take this switch away.
Michael.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel