You should have noticed that Delphi 10.1 Berlin has been released.
2016, Friday April 22
By A.Bouchez on 2016, Friday April 22, 11:29
2015, Monday March 30
By A.Bouchez on 2015, Monday March 30, 09:08
Perhaps it is due to a lot of projects moving from closing Google Code to GitHub, but I experimented some GitHub random communication errors since last week.
2015, Monday February 16
By A.Bouchez on 2015, Monday February 16, 10:30
And in fact, it is fast, and sounds pretty great!
Here are some numbers, compared with SuperObject, standard DBXJson, dwsJSON, QDAC and mORMot.
Please refer to previous benchmark articles about those libraries. We will now focus on JsonDataObjects.
2015, Thursday January 15
By A.Bouchez on 2015, Thursday January 15, 20:49
Today, we committed a new patch to enable AES-NI hardware acceleration to our SynCrypto.pas unit.
Intel® AES-NI is a new encryption instruction set that improves on the Advanced Encryption Standard (AES) algorithm and accelerates the encryption of data on newer processors.
Of course, all this is available in the Delphi unit, from Delphi 6 to XE7:
no external dll nor OS update is needed.
And it will work also on Linux, so could help encrypting the mORMot transmission with no power loss.
You have nothing to do: just upgrade your mORMot source code, then
AES-NI instructions will be used, if the CPU offers it.
We have seen performance boost of more than 5x, depending on the size of the data to be encrypted.
2014, Friday July 4
By A.Bouchez on 2014, Friday July 4, 13:55
Just wanted to share some awesome SOA revolutionary idea, on 4th of July...
You should take a look at http://devnull-as-a-service.com !
We will write certainly a native mORMot provider for this great
This is another great Open Source project (full code is included).
2014, Friday June 27
By A.Bouchez on 2014, Friday June 27, 13:23
It appears that version 1.25 of Fossil did change the ticket storage behavior:
Enhancements to ticket processing. There are now two tables: TICKET and TICKETCHNG. There is one row in TICKETCHNG for each ticket artifact. Fields from ticket artifacts go into either or both of TICKET and TICKETCHNG, whichever contain matching column names. Default ticket edit and viewing scripts are updated to use TICKETCHNG.
As stated by the official Fossil Change Log.
It appears that it just broke existing reports, so we had troubles with display of the ticket on our site.
Since we managed to find a workable solution, we would like to share it on our blog, to save other users time!
2014, Friday February 28
By A.Bouchez on 2014, Friday February 28, 18:58
After more than 5 years of opening some huge part of Delphi code base, just my two cents.
Free software means free as a bird.
In practice, most Open Source "consumers" focus on free as a free
This is a reality, especially for "niche" projects like developing libraries for Delphi.
Here are some thoughts from my little experiment with mORMot.
If you ask what Open Source for libraries mean, it may help you!
2013, Thursday December 5
By A.Bouchez on 2013, Thursday December 5, 22:00
Do you remember this former article about scalability of the Delphi memory manager, in multi-thread execution context?
Our SynScaleMM is still experimental.
But did pretty well, for an experiment!
At first, you can take a look at ScaleMM2, which is more stable, and based on the same ground.
But a new multi-thread friendly memory manager for Delphi just came
It is in fact the anonymous (and already famous) "NN memory manager" Primož talked about in his article about string building and memory managers.
(Note that in this article, our SynScaleMM was found to be scaling very well, but on the other hand, Primož did compile its benchmark program in Debug mode, so our
TTextWriter was not in good shape:
when you compile in Release mode, optimizations and inlining are ON,
and our good
TTextWriter just flies... See the note at the
beginning of the article - this is why I never find those benchmarks very
informative. I always prefer profiling from the real world with real useful
process… and was never convinced by any such naive benchmark.)
OK, back to our business!
SapMM is an interesting beast.
Sounds like if Alexei (the initial coder) has a C coding background. But
that's fine when you have to deal with low-level structures and algorithms, as
required by a memory manager.
It features everything we may ask for such a piece of code: clear design, optimized code (mostly by inlining process), memory leak reporting, some parameters for tuning.
It is only for Delphi XE (and up) under Win32 by now, but contributors are
It is used in production since more than half a year, and it passed all FastcodeMM benchmark tests.
If you want a direct link of the today's source code, without SVN, you may
try this direct link from
(but it probably will never be updated - you are warned)
2010, Sunday July 11
By A.Bouchez on 2010, Sunday July 11, 20:34
Didn't you ever wanted to unzip some archive content, or embed a zip file into your exe?
Didn't you ever wanted to create a zip archive file, from some data in memory, in pure Delphi code, without using any external dll?
One of the open source unit we use allow you to do these tasks in a easy way.