GARANTIR DESCONTO

Fórum Tamanho do Executavel: D7 X D2007 #346359

21/09/2007

0

Amigos, fiz um programa para testar performance do D7 e do D2007. Fui ver o tamanho dos executaveis e, o EXE do D7(611 KB) e o EXE do D2007(1339 KB), mais que o dobro. Pergunto: O que faz com que o EXE do D2007 fique muito grande assim? O que eu devo desmarcar ou marcar de flags para ter um EXE mais enxuto? Estou migrando um sistema aqui na empresa, e primeiro me pediram para testar a performance de ambos. Pasmem, mas o D7 até agora tem se saido melhor em todos os quesitos testados aqui na empresa. Os testes são feitos dentro da nossa realidade(DBExpress com Oracle 9i).


Paulo

Paulo

Responder

Posts

21/09/2007

Macario

Olá.

Um ponto a se observar é quais Units estão incluidas, por que estar havendo inclusaa irrelevantes.

E do que especificamente se trata o teste de performance?

Grato. 8)


Responder

Gostei + 0

21/09/2007

Paulo

O teste é comprar mesmo, se usando o DBX e Oracle, se o 2007 é mais rápido na execução de uma determinada query, como falei acima. Neste caso, o D7 tem sido mais rápido. Quero dizer, que fiz o mesmo programa, igualzinho mesmo e no D7 ficou de um tamanh e no 2007 outro, para o mesmo programa.
O que está abaixo, é o que eu fiz para ambas as versões do Delphi(7 e 2007), claro que fiz várias mudanças, como ParamByName, Params, carregar a Sql dentro e fora do laço, trabalhei com valores reais e não reais, e sempre o 7 ganhando, sendo mais rápido.

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, WideStrings, FMTBcd, StdCtrls, DB, SqlExpr; type TForm1 = class(TForm) SQLConnection1: TSQLConnection; SQLQuery1: TSQLQuery; Button1: TButton; Label1: TLabel; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var tempo: TTime; i : Integer; begin Button1.Enabled := False; tempo := now; i := 1; for i := 1 to 10000 do begin sqlquery1.Close; sqlquery1.Sql.Text := ´Select epempsis, epmatricula, epdata, eptipo, epautoinc ´ + ´From EntrPont ´ + ´Where epempsis = 1 and epmatricula = 222´ + ´and eptipo = ´´A´´and epautoinc = 0´; sqlquery1.Active := True; end; Label1.Caption := ´Tempo Gasto: ´ + FormatDateTime(´HH:MM:SS´, now-tempo); Button1.Enabled := True; end; procedure TForm1.Button2Click(Sender: TObject); var tempo : TTime; i : integer; sql : string; dt : TDateTime; begin Label1.Caption := ´Tempo Gasto: 00:00:00´; Button2.Enabled := False; tempo := now; i := 1; dt:= trunc(now); sql := ´Select epempsis, epmatricula, epdata, eptipo, epautoinc ´ + ´From EntrPont ´ + ´Where epempsis = :emp and epmatricula = :mat ´ + ´and epdata = :dt ´ + ´and eptipo = :tipo and epautoinc = :auto´; SQLQuery1.Sql.Text := sql; for i := 1 to 10000 do begin SQLQuery1.Close; SQLQuery1.Params[0].AsString := ´1´; SQLQuery1.Params[1].AsString := IntToStr(i); SQLQuery1.Params[2].AsString := DateToStr(Date+1); SQLQuery1.Params[3].AsString := ´A´; SQLQuery1.Params[4].AsString := ´0´; SQLQuery1.Active := True; end; Label1.Caption := ´Tempo Gasto: ´ + FormatDateTime(´HH:MM:SS´, now-tempo); Button2.Enabled := True; end; end.



Responder

Gostei + 0

21/09/2007

Macario

Qual a proporção do tempo medido em ambas IDEs?

O Driver de acesso que voce esta usando é o mesmo para as duas IDEs?

Pois no D2007 a dbx é a 4.0, pode haver alguma diferença neste caso.

To ficando curioso... :roll:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar