Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2003-09

small improvement of register + need statistic

5 messages · 5 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Vincent Snijders

Hi,

Please, could you rephrase, (say the same thing with other words): "where I found statistic of using modules in EXE"? I don't understand what you mean by it.

Regards,
Vincent.

-----Oorspronkelijk bericht-----
Van: o2
Verzonden: maandag 15 september 2003 16:15
Aan: lazarus
Onderwerp: [lazarus] small improvement of register + need statistic

�Hi
I try to recompile small program originally write for Delphi And I found not necessary unit Controls used in REGISTRY and second problem: the same program compile under : Delphi 3.0 and size of EXE is 79kB
Delphi 6.0 - EXE=144kB
FCP 1.1 + lazarus = 300kB

where I found statistic of using modules in� EXE �
Darek

Reply by email

DMo2
to Vincent Snijders

I need:
Detailed map of segments
in Delphi linker generate public MAP FILE
for example fragment of *.MAP from Delphi
0001:00000000 00006C0F C=CODE S=.text G=(none) M=System ACBP=A9 0001:00006C10 00000140 C=CODE S=.text G=(none) M=SysInit ACBP=A9 0001:00006D50 000000A4 C=CODE S=.text G=(none) M=Types ACBP=A9 0001:00006DF4 00000F4C C=CODE S=.text G=(none) M=Windows ACBP=A9 0

Earlier message 38 lines
----- Original Message ----- From: "Vincent Snijders" To: Sent: Monday, September 15, 2003 4:17 PM Subject: RE: [lazarus] small improvement of register + need statistic > Hi, > > Please, could you rephrase, (say the same thing with other words): > "where I found statistic of using modules in EXE"? I don't understand what you mean by it. > > Regards, > Vincent. > > -----Oorspronkelijk bericht----- > Van: o2 > Verzonden: maandag 15 september 2003 16:15 > Aan: lazarus > Onderwerp: [lazarus] small improvement of register + need statistic > > Hi > I try to recompile small program originally write for Delphi > And I found not necessary unit Controls used in REGISTRY > and second problem: the same program compile under : > Delphi 3.0 and size of EXE is 79kB > Delphi 6.0 - EXE=144kB > FCP 1.1 + lazarus = 300kB > > where I found statistic of using modules in EXE > > Darek > > _________________________________________________________________ > To unsubscribe: mail with > "unsubscribe" as the Subject > archives at http://www.lazarus.freepascal.org/mailarchives

Reply by email

Andrew Johnson

Well. please don't use html in your e-mails unless its actually needed :)

But how did you compile your app? Static, Dynamic or smart linking? From my experiance Smart Linking can give similar sizes as Delphi(if you are willing to wait for the extra compiling time), but the interfaces add extra overhead, while Dynamic is quite a bit larger then Delphi(dependent on what is being used and linked etc) eg. on this system, my DB test app with GTK1 -

FPC Dynamic Linking 3mb

FPC Smart Linking 800kb

Delphi 4 - 500kb

but a basic app without interface -

FPC Dynamic Linking - 300kb

FPC Smart Linking - 88kb

Delphi 4 -75kb

In other words, you can get far better results with smart linking, but don't expect GUI apps to be the same size. That is part of the price for supporting multiple interfaces(win32, gtk1, gtk2, gnome, etc) the additional code to abstract interfaces, also means that the lcl cannot be optimized for every interface, while the VCL is only Win32 and thus can be quite a bit less overhead.

Once we get dynamic packages we could do the same thing theoretically and put the interfaces in there own package, and have apps link to it like any other lib, which would remove the overhead from apps themselves, and should make the numbers more consistant.

For better comparison you might compare Kylix to Delphi etc.(and include the size of the qt interface library), I think you'll finder similar size overhead.

Andrew

Earlier message 30 lines
-----Original Message----- From: o2 Sent: Sep 15, 2003 10:14 AM To: lazarus Subject: [lazarus] small improvement of register + need statistic <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=iso-8859-2"> <META content="MSHTML 6.00.2600.0" name=GENERATOR> <STYLE></style> </head> <BODY bgColor=#ffffff> <DIV><FONT face=Arial size=2><FONT face="Times New Roman" size=3> </font><FONT face=Arial><FONT size=2>Hi</font></font> <P style="MARGIN-BOTTOM: 0cm"><FONT face=Arial><FONT size=2>I try to recompile small program originally write for Delphi</font></font></p> <P style="MARGIN-BOTTOM: 0cm"><FONT face=Arial><FONT size=2>And I found not necessary unit Controls used in REGISTRY</font></font></p> <P style="MARGIN-BOTTOM: 0cm"><FONT face=Arial><FONT size=2>and second problem: the same program compile under :</font></font></p> <P style="MARGIN-BOTTOM: 0cm"><FONT size=2><FONT face=Arial>Delp</font></font>hi 3.0 and size of EXE is 79kB</p> <P style="MARGIN-BOTTOM: 0cm">Delphi 6.0 - EXE=144kB</p> <P style="MARGIN-BOTTOM: 0cm">FCP 1.1 + lazarus = 300kB</p> <P style="MARGIN-BOTTOM: 0cm"><BR></p> <P style="MARGIN-BOTTOM: 0cm">where I found statistic of using modules in EXE</p> <P style="MARGIN-BOTTOM: 0cm"> </p> <P style="MARGIN-BOTTOM: 0cm">Darek</p></font></div></body></html>

Reply by email

o2

<FONT face="Times New Roman"
size=3>�Hi
I try to recompile
small program originally write for Delphi
And I found not
necessary unit Controls used in REGISTRY
and second problem:
the same program compile under :
Delphi
3.0 and size of EXE is 79kB
Delphi 6.0 - EXE=144kB
FCP 1.1 + lazarus = 300kB

where I found statistic of using modules in�
EXE
�
Darek

Reply by email

Peter Vreman
to Vincent Snijders: Please, could you rephrase, (say the same thing with other words): "where I found…
you wrote 9 lines
I need: Detailed map of segments in Delphi linker generate public MAP FILE for example fragment of *.MAP from Delphi 0001:00000000 00006C0F C=CODE S=.text G=(none) M=System ACBP=A9 0001:00006C10 00000140 C=CODE S=.text G=(none) M=SysInit ACBP=A9 0001:00006D50 000000A4 C=CODE S=.text G=(none) M=Types ACBP=A9 0001:00006DF4 00000F4C C=CODE S=.text G=(none) M=Windows ACBP=A9 0

Use -k-M on the fpc commandline

Or use objdump from mingw or cygwin to print information about the object or executable.

Peter

Reply by email