Difference between revisions of "File size and smartlinking/pt"

From Lazarus wiki
Jump to navigationJump to search
m
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Tamanho do executável o e smartlinking}}
+
{{File size and 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.
Line 17: Line 17:
 
O programa sendo compilado é o Virtual Magnifying Glass. Os fontes e o arquivo binário estão disponíiveis para download em http://magnifier.sourceforge.net
 
O programa sendo compilado é o Virtual Magnifying Glass. Os fontes e o arquivo binário estão disponíiveis para download em http://magnifier.sourceforge.net
 
Sobre o tempo de linkagem note que o computador utilizado é um Pentium 4 3.2GHz, placa-mãe Intel e processador dual core com 512MB de RAM.
 
Sobre o tempo de linkagem note que o computador utilizado é um Pentium 4 3.2GHz, placa-mãe Intel e processador dual core com 512MB de RAM.
 +
 
'''Resultados'''
 
'''Resultados'''
 +
 
O sistema operacional é o Windows XP e as versões 0.9.13 são da mesma data em que a versão 0.9.12 foi publicada. A comparação foi feita usando a seguinte configuração de software:
 
O sistema operacional é o Windows XP e as versões 0.9.13 são da mesma data em que a versão 0.9.12 foi publicada. A comparação foi feita usando a seguinte configuração de software:
  
* Lazarus 0.9.12 disponível [http://sourceforge.net/project/showfiles.php?group_id=89339 aqui]. Free Pascal 2.0.2 que vem com o instalador do Lazarus. LCL and RTL are smartlinked. Refered from now on as simply 0.9.12.
+
* Lazarus 0.9.12 disponível [http://sourceforge.net/project/showfiles.php?group_id=89339 aqui]. Free Pascal 2.0.2 que vem com o instalador do Lazarus. LCL e RTL são smartlinked. Referidos daqui para diante 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 baixado do Subversion na mesma data. Free Pascal 2.0.2 instalado separadamente. LCL não smartlinked. Referidos daqui para diante como 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 que vem com o instalador do Lazarus. LCL não smartlinked. Referidos daqui para diante como 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.
+
* Lazarus 0.9.13 snapshot. Free Pascal 2.1 que vem com o instalador do Lazarus. A LCL é smartlinked. Referidos daqui para diante como 0.9.13 + 2.1 + SL.
  
 
{| border=2 width="100%"
 
{| border=2 width="100%"
Line 38: Line 40:
  
 
|-
 
|-
! File Size after strip (in bytes)
+
! Tamanho do executável depois do strip (em bytes)
 
| align="center" | 1108480
 
| align="center" | 1108480
 
| align="center" | 1587712
 
| align="center" | 1587712
Line 45: Line 47:
  
 
|-
 
|-
! File Size after UPX (in bytes)
+
! Tamanho do executável depois do UPX (em bytes)
 
| align="center" | 318976
 
| align="center" | 318976
 
| align="center" | 438272
 
| align="center" | 438272
Line 53: Line 55:
 
|-
 
|-
  
! Linking time
+
! Tempo de Linkagem
 
| align="center" | 15 seconds
 
| align="center" | 15 seconds
 
| align="center" | 5 seconds
 
| align="center" | 5 seconds
Line 62: Line 64:
  
  
'''Conclusion'''
+
'''Conclusão'''
 
 
 
 
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.
+
O snapshot do 0.9.13 de 8 de fevereiro de 2006 gera um compilador instável da 2.1 branch, que resulta em um executável maior e um SmartLinking mais lento quando comparado com outras versões.
  
 +
A versão 0.9.12 teve o melhor tamanho de executável de todas, com ou sem upx, demonstrando que SmartLinking pode realmente diminuir o tamanho do executável no Windows. Entretanto isso tem um custo, que é o tempo de linkagem de aproximadamente 3 vezes maior que o tempo sem 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.
+
A versão 0.9.12 já vem com o SmartLinking em Windows pré-configurado. Não era o caso nas versões anteriores.
  
 
==Veja também==
 
==Veja também==
  
 
* [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.

Latest revision as of 17:03, 8 March 2007

Deutsch (de) English (en) français (fr) 日本語 (ja) português (pt) 中文(中国大陆)‎ (zh_CN)

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 8 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

O tempo de compilação não é considerado aqui porque é muito similar em todas as configurações e muito menos significativo que o tempo de linkagem. O tamanho do executável sem o strip.exe não incluído. Note que o strip é usado sempre da linha de comando com:

strip --strip-all magnifier.exe

O programa sendo compilado é o Virtual Magnifying Glass. Os fontes e o arquivo binário estão disponíiveis para download em http://magnifier.sourceforge.net Sobre o tempo de linkagem note que o computador utilizado é um Pentium 4 3.2GHz, placa-mãe Intel e processador dual core com 512MB de RAM.

Resultados

O sistema operacional é o Windows XP e as versões 0.9.13 são da mesma data em que a versão 0.9.12 foi publicada. A comparação foi feita usando a seguinte configuração de software:

  • Lazarus 0.9.12 disponível aqui. Free Pascal 2.0.2 que vem com o instalador do Lazarus. LCL e RTL são smartlinked. Referidos daqui para diante 0.9.12.
  • Lazarus 0.9.13 baixado do Subversion na mesma data. Free Pascal 2.0.2 instalado separadamente. LCL não smartlinked. Referidos daqui para diante como 0.9.13 + 2.0.2
  • Lazarus 0.9.13 snapshot. Free Pascal 2.1 que vem com o instalador do Lazarus. LCL não smartlinked. Referidos daqui para diante como 0.9.13 + 2.1.
  • Lazarus 0.9.13 snapshot. Free Pascal 2.1 que vem com o instalador do Lazarus. A LCL é smartlinked. Referidos daqui para diante como 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
Tamanho do executável depois do strip (em bytes) 1108480 1587712 1425408 1649152
Tamanho do executável depois do UPX (em bytes) 318976 438272 388608 454144
Tempo de Linkagem 15 seconds 5 seconds 45 seconds 10 seconds


Conclusão

O snapshot do 0.9.13 de 8 de fevereiro de 2006 gera um compilador instável da 2.1 branch, que resulta em um executável maior e um SmartLinking mais lento quando comparado com outras versões.

A versão 0.9.12 teve o melhor tamanho de executável de todas, com ou sem upx, demonstrando que SmartLinking pode realmente diminuir o tamanho do executável no Windows. Entretanto isso tem um custo, que é o tempo de linkagem de aproximadamente 3 vezes maior que o tempo sem SmartLinking.

A versão 0.9.12 já vem com o SmartLinking em Windows pré-configurado. Não era o caso nas versões anteriores.

Veja também

  • Guide for anyone inexperienced in getting FPC and Lazarus to work properly.