I'm happy to announce that mORMot units are now compiling and working great in 64
bit mode, under Windows.
Need a Delphi XE2/XE3 compiler, of course!
ORM and services are now available in Win64, on both client and
server sides.
Low-level x64 assembler stubs have been created, tested and
optimized.
UI part is also available... that is grid display, reporting (with pdf
export and display anti-aliasing), ribbon auto-generation,
SynTaskDialog
, i18n... the main SynFile demo just works
great!
Overall impression is very positive, and speed is comparable to 32 bit
version (only 10-15% slower).
Speed decrease seems to be mostly due to doubled pointer size, and some less
optimized part of the official Delphi RTL.
But since mORMot core uses its own set of functions (e.g. for
JSON serialization, RTTI support or interface calls or stubbing), we were able
to release the whole 64 bit power of your hardware.
Delphi 64 bit compiler sounds stable and efficient. Even when working at low
level, with assembler stubs.
Generated code sounds more optimized than the one emitted by
FreePascalCompiler - and RTL is very close to 32 bit mode.
Overall, VCL conversion worked as easily than a simple re-build.
Embarcadero's people did a great job for VCL Win64 support, here!
SQlite3 works great in 64 bit mode.
You can find our own 3.7.16 version of the SQlite3 external
library, to be used in 64 bit mode, from SQLite3-64.7z, since there is no
official Win64 library released yet in http://sqlite.org
No problem so far, and pretty good performance.
Jut a weird bug about SQLITE_TRANSIENT
constant, which should be
pointer(integer(-1))
instead of pointer(-1)
when
working with virtual tables columns - but nothing to care of in your user code,
since the framework will handle it for you.
I suspect some part of official System.RTTI.pas
unit as
provided in XE2/XE3 is broken in Win64.
For instance, I think it does not handle a method returning a string.
Our mORMot.pas
implementation has been tested with the same
regression code as in 32 bit mode.
Your own tests and feedback are welcome!
Feedback and detailed tests results are available in our
forum!