Delphi to Lazarus application porting success story lazarus / 8-Other ---------------------------------------------------------------------- snorkel · 2012-11-16 18:25 Thought I would share this. A few days ago I started porting a Delphi app that used a Access database, fast report and a commercial xls dataset export component. What this app does is use the Access database via DBgo (ado) to create PDF and xls reports, so for each account number it creates a PDF and a XLS version of the report. The delphi fast report used the built in crosstab capability to build the last page as a crosstab report, Lazreport does not have this functionality, so made my own routine that builds a crosstab tbuffdataset and the last page uses that dataset to build the crosstab report, and finally for the XLS I used FPSpreadsheet. The appearance and function of the apps is exactly the same and most of the code was copied and pasted from the delphi app verbatim. The other difference is Lazarus has no ADO components so I used ODBC with a embedded DSN (in the connection params property) I ran a little test to see which one performed better, so I started the Delphi and lazarus versions and pointed them at the same Access DB which has 4000 records in it.   When the lazarus version finished the Delphi version was still at 33%  THAT is near 3 times difference in performance   I was floored, so I ran it a few more times and same results every time.  I even started the Delphi one first on each occasion. So while the PDF and XLS generation libs are different and it uses ODBC vs ADO a 3 times performance difference is still pretty impressive, or at least I think it is.  The users of this app will be pleasantly surprised the next time they run it. Comments? ---------------------------------------------------------------------- Mike.Cornflake · 2012-11-17 15:09 Nice one :-)   Any idea where the performance improvement came from?   I'm assuming the PDF or XLS code. ---------------------------------------------------------------------- BigChimp · 2012-11-17 15:12 Congratulations! Sounds very impressive! You might want to add it here as well http://wiki.lazarus.freepascal.org/Marketing_Case_Studies I suppose generalizing the crosstab generation code and publishing it would be hard to do? Even if it can't be incorporated into lazreport, having something like this available in the FPC codebase or as an example may be very handy/useful.