{$APPTYPE CONSOLE}
program p;
begin
Writeln ('Hello, World');
end.
Program info (Delphi 2009):
* Code size 14284 bytes
* Data size 12988 bytes
* Initial stack size 16384 bytes
* File size 21504 bytes
Benchmark:
* Using a standard .cmd batch file, this application can be started 10000 times in 77 seconds on a standard Core 2 laptop using Windows XP. That means 7,7 milliseconds per run.
A minimal GUI app:
program p;
uses
Windows;
begin
MessageBox (0,'Message','Hello, World',MB_OK);
end.
Program info (Delphi 2009):
* Code size 11744 bytes
* Data size 12984 bytes
* Initial stack size 16384 bytes
* File size 18432 bytes
Both run on:
* Windows 95 and later
* Windows NT 3 and later
* Linux using Wine
In order to understand the relation to other languages, you can have a look at this article about Java (translations tools here).
6 comments:
Why the console version is bigger than the GUI version?
isn't 1 empty form take around 70kb on Delphi (due to vcl use)?
oh i see you must be code that directly on .dpr :D
A minimal Delphi 2009 app with 1 GUI form is:
Code size: 398652 bytes
Data size: 28612 bytes
Initial stack size: 16384 bytes
File size: 505856 bytes
Executables are bigger with Delphi 2009 than with previous versions, probably because everything now uses UTF-16.
A Delphi executable can be run on all the same platforms that I mentioned in the blog post, and it requires no external DLLs or runtime. It can be installed on a computer where you have only guest permissions.
Fabio, the Console version is bigger because Writeln code is implemented by the compiler, instead of MesageBox's that is only a wrapper function to the one provided by Windows API.
I wondered where this post was going to, until I read the article about Java. That really put a smile on my face :-)
You cheated a bit by calling a program that launches a Windows dialog a GUI app.
For folks who are looking for a way to create really compact Windows GUI apps with Delphi, take look at KOL.
http://kolmck.net
Post a Comment