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
| Old | New | Line | |
|---|---|---|---|
| 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).* |
