Delphi XE2 VCL Styles and 3D
…or when the old/new VCL mule shows it can still kick!
I was asked how hard it would be to do yet-another-Cover Flow-clone with VCL+GLScene, and how that would stand vs using FireMonkey on Windows.
DelphiTools, SamplingProfiler and General Delphi News
…or when the old/new VCL mule shows it can still kick!
I was asked how hard it would be to do yet-another-Cover Flow-clone with VCL+GLScene, and how that would stand vs using FireMonkey on Windows.
André Mussche on Google+ investigated the performance of several Memory Managers for Delphi, in single-threaded & multi-threaded situations, with detailed results and charts on performance and memory usage.
Great work and interesting findings!
Delphi Web Script 2.2 is now in “beta”, and a DWS 2.2 Beta zip (337 kb) is available.
No new features are expected up to the next stage (RC), only improvements to unit tests, to reach the psychological 90% code coverage milestone.
Changes since 2.2 preview 4:
For the curious ones looking at the SVN, there are actually other improvements and additions, but those aren’t ready just yet, and won’t be part of 2.2, but of 2.3.
…or to be more accurate, many things the Delphi RTTI can reach, DWScript can reach.
Delphi Web Script version 2.2 will soon be a wrap up, I’ve posted a preview zip (324 kb) for the SVN-averse.
Here is the summary of recent changes form the SVN side of DWS:
Here is a quick summary of the current status for the DWScript JavaScript CodeGen, aka OP4JS.
(more…)
Just a notice: I’ve updated the XE2 single-precision floating point article after using the (up to now) undocumented {$EXCESSPRECISION OFF} directive, thanks to Allen Bauer for chiming in!
Executive summary: this directives enables use of single-precision SSE floating point instruction by the compiler, and brings their performance in line with expectations, making Delphi XE2 64bit compiler the new King of the Delphi Hill.
In the previous episode, it appeared that Delphi XE2 64bit compiler was achieving quite good results, however, after further investigations, things may not be so clear-cut. Transcendental maths, which will be food for a another post, the subject of this one seems to be an issue with single-precision floating point maths.
Dan Bartlett spotted some GLScene source code in FireMonkey, see this thread in the Embarcadero forum for details, parts of the VectorGeometry.pas, Spline.pas and raycasting code have been identified. The code having been incorporated in closed-source code (KSDev’s, Delphi XE2) it hadn’t been spotted or reported so far (at least to my knowledge).
With XE2 now officially out, it’s time for a first look at Delphi XE2 compiler floating point performance (see previous episode).
For a first look I’ll reuse a Mandelbrot benchmark, based on this code Mandelbrot Set in HTML 5 Canvas. What it tests are double-precision floating-point basic operations (add, sub, mult) in a tight loop, there is relatively little in the way of memory accesses (or shouldn’t be, to be more accurate).