Difference between revisions of "File size and smartlinking/pt"
Line 1: | Line 1: | ||
{{Tamanho do executável o e smartlinking}} | {{Tamanho do executável o e smartlinking}} | ||
− | Este artigo é um "work in progress" sobre tamanho do executável e smartlinking em Lazarus. Esteja à vontade para contribuir | + | Este artigo é um "work in progress" sobre tamanho do executável e smartlinking em Lazarus. Esteja à vontade para contribuir. |
__TOC__ | __TOC__ |
Revision as of 15:58, 8 March 2007
Template:Tamanho do executável o e smartlinking
Este artigo é um "work in progress" sobre tamanho do executável e smartlinking em Lazarus. Esteja à vontade para contribuir.
Introdução
Estudo de Caso 1 em Windows
Este estudo de caso foi realizado em 6 de fevereiro de 2006 porque uma versão com SmartLinking (0.9.12) foi publicada. Ele pretende estabelecer uma relação entre a variação dos resultados abaixo e diferentes versões do Lazarus e do compilador FreePascal, tanto quanto entre versões com e sem o SmartLinking.
As variáveis estudadas são:
- Tamanho do executável depois de usar o strip.exe
- Tamanho do executável depois de usar o upx.exe
- Tempo de linkagem
Compile time isn´t considered here because it´s too similar on all configurations and much less significant than the link time.
Executable size without strip isn´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: http://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 and 512MB of RAM.
Results
The utilized OS is Windows XP and the 0.9.13 versions are from the same date when 0.9.12 was release. The comparison took place using the following software configurations:
- 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 from the same date. 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 + SL | 0.9.13 + 2.1 | |
---|---|---|---|---|
File Size after strip (in bytes) | 1108480 | 1587712 | 1425408 | 1649152 |
File Size after UPX (in bytes) | 318976 | 438272 | 388608 | 454144 |
Linking time | 15 seconds | 5 seconds | 45 seconds | 10 seconds |
Conclusion
The 0.9.13 snapshot from the 8th of February 2006 features a unstable compiler from the 2.1 branch, which can cause the bigger executables and slower linking time as compared to the other versions.
The 0.9.12 version has the best file size of all, both with UPX and without, showing that Smartlinking really can diminish the file size in Windows. This, however, does not come without a cost, and the cost is linking time, which is about 3 times higher then without smartlinking.
The 0.9.12 version already comes fully configured for Smartlinking on Windows and no extra configuration is needed. This was not the case on previous releases.
See Also
- Guide for anyone inexperienced in getting FPC and Lazarus to work properly.