> De qualquer forma é inútil ficar contanto os bytes do executável. Muito > mais importante do que isto é a construção de códigos otimizados, que > façam a tarefa da forma mais prática e rápida possível. >
Isto é verdade desde que esta diferença de bytes seja pequena. Diferenças grandes como 800K por aí, já irão afetar a performance do exe. Mas o certo mesmo é como você disse: Fazer a tarefa da forma mais prática e rápida possível. Isto é que seu Exe tem que fazer. []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] Fone: (31) 3389-8217 Fax: (31) 3389-8215 -----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de Joao Morais Enviada em: sexta-feira, 13 de abril de 2007 18:47 Para: [EMAIL PROTECTED] Assunto: Re: RES: [delphi-br] A formatação das linhas no fonte influenciam no tamanho do EXE? Comentários ao longo da mensagem (como de costume) Walter Alves Chagas Junior wrote: > Não, a formatação, identação ou colocação das linhas de código não influem no > tamanho final da area de Bytecode do exe. O que pode influir seria coisas > como a forma como você elabora a lógica. Vejemos um exemplo: > > var > isTrue: Boolean; > begin > if X = 0 then > isTrue := True > else > isTrue := False; > end; > > Isto pode vir a gerar um certo numero de bytes a mais na área de bytecode do > Exe. Agora o código acima pode ser otimizado da seguinte forma: > > var > isTrue: Boolean; > begin > isTrue := (X = 0); > end; > > Neste caso, com certeza o numero de bytes na área do bytecode será menor, > ocasionando um menor tamanho no Exe final e uma melhora em sua performance. Muito embora o compilador faça um excelente trabalho. Este código aqui: if False then begin ... ... ... end; sequer fará parte do executável, o compilador vai remover todo o bloco. > Blocos Begin end são tratativas de conjunto de comandos que ocuparão uma > seção mediante uma situação. Não justifica delimitar uma área de comandos > quando seu conteúdo seria somente um comando. Eu penso que o compilador > otimizaria isto. > > var > isTrue: Boolean; > begin > if X = 0 then > begin > isTrue := True; > end > else > begin > isTrue := False; > end > end; > > ERRADO! Não está errado, por sinal conheço alguns ótimos desenvolvedores, dentre os quais os desenvolvedores da Indy, que *sempre* usam begin/end aonde o uso é opcional. É apenas questão de gosto, e o código final terá o mesmo tamanho. > formatacao 2) Em linhas individuais: > > qrConsulta.SQL.Add(' > +' SELECT' > +' Endereco,' > +' Nome,' > +' Cidade' > +' FROM' > +' Cliente' > +' WHERE' > +' Nome > :Inicio' > +' ORDER BY Nome') > > > Duvida: Neste caso 1, alguma das duas formataçoes influencia no > tamanho final do executavo, principalmente pela qtde de linhas > diferentes entre uma e outra? Ou o compliador do Delphi trata tudo > como um comando só? Isto sim, como trata-se de uma constante string ela ocupará exatamente este espaço, com os respectivos brancos. De qualquer forma é inútil ficar contanto os bytes do executável. Muito mais importante do que isto é a construção de códigos otimizados, que façam a tarefa da forma mais prática e rápida possível. -- Joao Morais -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos