#1 2014-12-16 11:29

Registered: 2014-12-16
Posts: 1

Delphi vs Lazarus


I read you went from Delphi 7 to Lazarus, I am also running Delphi 7 and I tested recent version of Lazarus today and found it has improved a lot.

I remember when I tested it a few years ago I banished it because it produced hudge EXEs but I recently learned how to reduce this size by disabling compiler Debug info and also enabling the "strip symbols" + a little UPX compressor and that is, went from 14MB to 650KB.

In fact I am a KOL&MCK lover so for me the minimum EXE size should be 10KB ;-)

Do you know some other tricks to reduce EXE size (without offloading the libs) ?

I notice that compiling is slower than D7.

And now you work with Lazarus for some time could you describe what are all the pros/cons you found about Lazarus vs D7 ?


Last edited by dodfr (2014-12-16 11:30)


#2 2014-12-17 00:04

From: den4b.com
Registered: 2006-04-06
Posts: 3,400

Re: Delphi vs Lazarus

Yes, development of all products here is being moved to Lazarus. Currently, ReNamer and Hasher have already been migrated and the rest of products will follow.

There are many benefits to using Lazarus+FPC over Delphi 7. Just to name a few: open source, cross platform, powerful IDE, extensive LCL/FCL, easiest localization ever, excellent community, and many more. I really enjoy being part of Lazarus/FPC community, it's great to be able to interact with the development team and contribute to future versions of Lazarus and FPC, which I did on many occasions.

The difficulty of the migration process depends on complexity of your application, dependance on Windows API, use of 3rd party components and Unicode implementation (which is nonexistent in stock Delphi 7). Small projects can be converted from Delphi 7 to Lazarus using built-in conversion tool and work straight away. But more complex applications, like ReNamer, can require significant amount of work.

There are few compiler options which significantly affect the file size, particularly debug symbols and smart linking. They are all found in the Project Options. However, worrying about file size of the executable is a thing of the past, especially when you are talking about 1-2 MB. Perhaps it becomes important when >10MB, but then most of it would probably be resources (graphics, meta data, etc).

Now what plays a bigger role is functionality of the development environment, compiler and your application. Newer versions of Free Pascal Compiler include powerful Run-Time Type Information (RTTI), generics, various abstraction and interface improvements, detailed debug information, and of course, Lazarus has a very extensive Component Library (LCL). All of these features increase your executable file size but they also provide huge benefits for your application and potential functionality.

At the end of the day, powerful and featureful development environment which is also enjoyable to work with is significantly more important than the size of the executable file.

I hope this will help you make a choice that is right for you.

Relevant reading about executable file size:
* http://wiki.freepascal.org/Size_Matters
* http://wiki.freepascal.org/File_size_and_smartlinking
* http://lazplanet.blogspot.ie/2013/03/ho … -your.html


Board footer

Powered by FluxBB