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.

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!

var
  isTrue: Boolean;
begin
  if X = 0 then
    isTrue := True
  else
    isTrue := False;
end;

CORRETO


[]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 andrelivre
Enviada em: sexta-feira, 13 de abril de 2007 14:42
Para: [EMAIL PROTECTED]
Assunto: [delphi-br] A formatação das linhas no fonte influenciam no
tamanho do EXE?


Olá pessoal, tudo bem?

depois de um bate papo com um amigo sobre identação e espaçamento, me 
surgiu um duvida curiosa.

O modo em que eu organizo o código no meu fonte influencia no tamanho 
final do EXE. Por exemplo:

CASO 1) Trabalhando com Query no fonte:

formatacao 1) Numa unica linha:

qrConsulta.SQL.Add('SELECT Endereco, Nome, Cidade FROM Cliente WHERE 
Nome > :Inicio ORDER BY NOME')

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ó?


CASO 2) Trabalhando com IF

formatacao 1) tudo na mesma linha:

IF (A > 2) THEN BEGIN ShowMessage('Testando'); A := 2; END;


formatacao 2) em linhas separadas:

IF (A > 2) THEN 
BEGIN 
   ShowMessage('Testando'); 
   A := 2; 
END;

Duvida: Neste caso 2, 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ó? 

E se eu abrir um bloco (begin end) qdo nao necessário, isso ocupa 
espaço a mais no EXE?

Ok entao pessoal


muito obrigado

André





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Links do Yahoo! Grupos

 

Responder a