Difference between revisions of "File size and smartlinking"
Sekelsenmat (talk | contribs) |
Sekelsenmat (talk | contribs) |
||
Line 3: | Line 3: | ||
==Introduction== | ==Introduction== | ||
− | ==Case study 1== | + | ==Case study 1 in Windows== |
This study was conducted on 8 february of 2006 and intends to stablish the relations between variables bellow with different Lazarus and Free Pascal versions as well as with Smartlinking and without. | This study was conducted on 8 february of 2006 and intends to stablish the relations between variables bellow with different Lazarus and Free Pascal versions as well as with Smartlinking and without. | ||
Line 14: | Line 14: | ||
Compile time wasn´t included because it´s too similar on all configurations and also much smaller then the link time. | Compile time wasn´t included because it´s too similar on all configurations and also much smaller then the link time. | ||
+ | |||
+ | Executable size without strip wasn´t included. Notice that strip was used always from command line with the command: | ||
+ | |||
+ | <pre> | ||
+ | strip --strip-all magnifier.exe | ||
+ | </pre> | ||
+ | |||
+ | The program being compiled is the Virtual Magnifying Glass. The source and binaries for this program are freely available for download on: magnifier.sourceforge.net | ||
+ | |||
+ | About the linking time please note that the utilized computer is 3.2GHz Pentium 4 with Intel motherboard and dual core processor. | ||
+ | |||
+ | The comparison took place about the following software configurations, all in Windows XP: | ||
+ | |||
+ | * Lazarus 0.9.12 available [http://sourceforge.net/project/showfiles.php?group_id=89339 here]. Free Pascal 2.0.2 that comes with the installer. LCL and RTL are smartlinked. Refered from now on as simply 0.9.12. | ||
+ | |||
+ | * Lazarus 0.9.13 downloaded from Subversion. Free Pascal 2.0.2 installed separately. The LCL is not smartlinked. Refered from now on as simply 0.9.13 + 2.0.2. | ||
+ | |||
+ | * Lazarus 0.9.13 snapshot. Free Pascal 2.1 that comes with the installer. The LCL is not smartlinked. Refered from now on as simply 0.9.13 + 2.1. | ||
+ | |||
+ | * Lazarus 0.9.13 snapshot. Free Pascal 2.1 that comes with the installer. The LCL is smartlinked. Refered from now on as simply 0.9.13 + 2.1 + SL. | ||
+ | |||
+ | {| border=2 width="100%" | ||
+ | |||
+ | |- | ||
+ | ! | ||
+ | ! 0.9.12 | ||
+ | ! 0.9.13 + 2.0.2 | ||
+ | ! 0.9.13 + 2.1 | ||
+ | ! 0.9.13 + 2.1 + SL | ||
+ | |||
+ | |- | ||
+ | ! File Size after strip | ||
+ | | align="center" | 1108480 | ||
+ | | align="center" | 1587712 | ||
+ | | align="center" | 1425408 | ||
+ | | align="center" | 1649152 | ||
+ | |||
+ | |- | ||
+ | ! File Size after UPX | ||
+ | | align="center" | 318976 | ||
+ | | align="center" | 438272 | ||
+ | | align="center" | 388608 | ||
+ | | align="center" | 454144 | ||
+ | |||
+ | |- | ||
+ | |||
+ | ! Linking time | ||
+ | | align="center" | 15 seconds | ||
+ | | align="center" | 5 seconds | ||
+ | | align="center" | 45 seconds | ||
+ | | align="center" | 10 seconds | ||
+ | |||
+ | |} | ||
==See Also== | ==See Also== | ||
* [http://members.chello.sk/ales/guide.html Guide] for anyone inexperienced in getting FPC and Lazarus to work properly. | * [http://members.chello.sk/ales/guide.html Guide] for anyone inexperienced in getting FPC and Lazarus to work properly. |
Revision as of 15:38, 8 February 2006
This article is a work in progress about executable size and smartlinking on Lazarus. Fell free to contribute.
Introduction
Case study 1 in Windows
This study was conducted on 8 february of 2006 and intends to stablish the relations between variables bellow with different Lazarus and Free Pascal versions as well as with Smartlinking and without.
The Variables being studied are:
- Executable size after strip
- Executable size after strip and UPX
- Linking time
Compile time wasn´t included because it´s too similar on all configurations and also much smaller then the link time.
Executable size without strip wasn´t included. Notice that strip was used always from command line with the command:
strip --strip-all magnifier.exe
The program being compiled is the Virtual Magnifying Glass. The source and binaries for this program are freely available for download on: magnifier.sourceforge.net
About the linking time please note that the utilized computer is 3.2GHz Pentium 4 with Intel motherboard and dual core processor.
The comparison took place about the following software configurations, all in Windows XP:
- Lazarus 0.9.12 available here. Free Pascal 2.0.2 that comes with the installer. LCL and RTL are smartlinked. Refered from now on as simply 0.9.12.
- Lazarus 0.9.13 downloaded from Subversion. Free Pascal 2.0.2 installed separately. The LCL is not smartlinked. Refered from now on as simply 0.9.13 + 2.0.2.
- Lazarus 0.9.13 snapshot. Free Pascal 2.1 that comes with the installer. The LCL is not smartlinked. Refered from now on as simply 0.9.13 + 2.1.
- Lazarus 0.9.13 snapshot. Free Pascal 2.1 that comes with the installer. The LCL is smartlinked. Refered from now on as simply 0.9.13 + 2.1 + SL.
0.9.12 | 0.9.13 + 2.0.2 | 0.9.13 + 2.1 | 0.9.13 + 2.1 + SL | |
---|---|---|---|---|
File Size after strip | 1108480 | 1587712 | 1425408 | 1649152 |
File Size after UPX | 318976 | 438272 | 388608 | 454144 |
Linking time | 15 seconds | 5 seconds | 45 seconds | 10 seconds |
See Also
- Guide for anyone inexperienced in getting FPC and Lazarus to work properly.