Francisco, > Em um cliente, do meu antigo emprego, o sistema demorava muito pra carregar. > Fizemos vários testes e nada, o aplicativo sempre iniciava muito lentamente. > Coisa de 15 minutos. > > Um dia, por acidente, levamos o aplicativo sem estar compactado com o UPX... > adivinhem? Abriu instantaneamente. > > Mais tarde agente descobriu que quem fazia toda essa demora era o Norton, > então 2004.
De fato, boa parte dos anti-vírus ainda tem dificuldade em lidar com aplicativos compactados que se expandem na memória. Também tive esse mesmo problema com o UPX e logo vi que desligando o anti-vírus tudo funcionava perfeitamente. Pena que a maioria dos usuários não sobrevive sem um anti-vírus residente... Li que alguns anti-vírus hoje já identificam tratar-se de aplicativo compactado... > Outra desvantagem (me corrijam se estiver errado) é que uma vez o executável > "zipado", ele deve ser carregado completamente durante a sua abertura.... > Menos um ponto pra ele.... Também correto! O executável compactado vai inteiro para a memória (mais rápido que o original, que é bem maior) e depois é descompactado (bem mais rápido que uma descompactação que fazemos via sistema de arquivos pois todo o executável já está na memória). Isso acarreta num certo atraso na entrada do programa no ar. Outro problema é que o Windows não consegue compartilhar a porção de código executável do seu aplicativo com outras instâncias, caso você venha rodar várias instâncias de seu aplicativo. Outro problema ainda mais grave é de memória. Se o SO tiver memória para carregar 2MB mas não tiver para carregar os outros 7MB resultantes do processo de descompactação... Outro problema é que o total de memória utilizado acaba sendo maior- um pouco para a porção compactada e outro para a versão descompactada. Não sei quando a porção compactada sai da memóra... > Então acredito que o melhor é trabalhar com o aplicativo "não compactado" e > com o menor número de gráficos embutidos. Se ainda assim ficar grande, apele > para modularização (com dll's eu packages) Sim, por isso falei que se tratava de um ninho de cobras. Um dos compactadores pode ser usado sem problemas, acredito. Ele apenas retira do EXE final uma porção que normalmente não é utilizada de todo modo. Acredito que a tecnologia de compactadores de executável só trará reais benefícios quando a descompactação puder ser realizada sob demanda- isto é, a cada instrução solicitada. Mas isso irá requere um alto grau de sofisticação dos diversos componentes, especialmente a descompactação e descodificação parcial do exe compactado/codificado. Não vejo isso nos nossos PCs num futuro tão próximo assim. ;) Cordialmente, Demian Lessa Salvador - Brasil -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html