Delphi XE2-64bit: bottleneck in trigonometric functions?
The 64bit introduced SSE2 maths, replacing the silicon-based implementations of the FPU by software.
(more…)
Taming HTML5 verlets with Object Pascal
Click the image below for a little real-time verlet integration animation.
Records with methods, Improved RTTI support
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:
Status of the DWS JavaScript CodeGen
Here is a quick summary of the current status for the DWScript JavaScript CodeGen, aka OP4JS.
(more…)
Happy {$EXCESSPRECISION OFF}!
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.
XE2 single-precision floating point (partial) disappointment…
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.
GLScene source code used in FireMonkey?
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).
First look at XE2 floating point performance
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).
DWScript compatible with XE2
Get it from the Delphi Web Script SVN.
Both Win 32 & 64 bit targets of Delphi XE2 are supported.
MacOS target may or may not be (almost) supported at the moment, but since I don’t have a Mac, I can’t test nuthin’.