Sign in Join
Wiki copytemporary

File size and smartlinking/pt: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: File size and smartlinking/pt

OldNewLine
1+Este artigo é um "work in progress" sobre tamanho do executável e smartlinking em Lazarus. Esteja à vontade para contribuir.
2+
3+## Introdução
4+
5+## Estudo de Caso 1 em Windows
6+
7+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:
8+
9+- Tamanho do executável depois de usar o strip.exe
10+- Tamanho do executável depois de usar o upx.exe
11+- Tempo de linkagem
12+
13+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:
14+
15+ strip --strip-all magnifier.exe
16+
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> 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.
18+
19+**Resultados**
20+
21+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:
22+
23+- Lazarus 0.9.12 disponível [aqui](http://sourceforge.net/project/showfiles.php?group_id=89339). 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.
24+
25+- 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
26+
27+- 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.
28+
29+- 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.
30+
31+| | 0.9.12 | 0.9.13 + 2.0.2 | 0.9.13 + 2.1 + SL | 0.9.13 + 2.1 |
32+|----|----|----|----|----|
33+| Tamanho do executável depois do strip (em bytes) | 1108480 | 1587712 | 1425408 | 1649152 |
34+| Tamanho do executável depois do UPX (em bytes) | 318976 | 438272 | 388608 | 454144 |
35+| Tempo de Linkagem | 15 seconds | 5 seconds | 45 seconds | 10 seconds |
36+
37+**Conclusão**
38+
39+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.
40+
41+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.
42+
43+A versão 0.9.12 já vem com o SmartLinking em Windows pré-configurado. Não era o caso nas versões anteriores.
44+
45+## Veja também
46+
47+- [Guide](http://members.chello.sk/ales/guide.html) for anyone inexperienced in getting FPC and Lazarus to work properly.
48+
49+---
50+*From the Free Pascal wiki, page "File size and smartlinking/pt", as it stood on 2007-03-08 after a change by Swen, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history