Since
there was recently some articles about performance comparison between
several versions of the Delphi compiler, we had to react, and gives our
personal point of view.
IMHO there won't be any definitive statement about this.
I'm always doubtful about any conclusion which may be achieved with such kind
of benchmarks.
Asking "which compiler is better?" is IMHO a wrong question.
As if there was some "compiler magic": the new compiler will be just like a new
laundry detergent - it will be cleaner and whiter...
Performance is not about marketing.
Performance is an iterative process, always a matter of circumstances,
and implementation.
Circumstances of the benchmark itself.
Each benchmark will report only information about the process it
measured.
What you compare is a limited set of features, running most of the time an
idealized and simplified pattern, which shares nothing with real-world
process.
Implementation is what gives performance.
Changing a compiler will only gives you some percents of time change.
Identifying the true bottlenecks of an application via a profiler, then
changing the implementation of the identified bottlenecks may give order of
magnitudes of speed improvement.
For instance, multi-threading abilities can be achieved by following
some simple rules.
With our huge set of regression tests, we have at hand more than 16,500,000
individual checks, covering low-level features (like numerical and text
marshaling), or high-level process (like concurrent client/server and database
multi-threaded process).
You will find here some benchmarks run with Delphi 6, 7, 2007, XE4 and XE6
under Win32, and XE4 and XE6 under Win64.
In short, all compilers performs more or less at the same speed.
Win64 is a
little slower than Win32, and the fastest appears to be Delphi 7, using our
enhanced and
optimized RTL.