MidasLib.dcu torna o aplicativo mais lento
Eu estou declarando MidasLib para evitar o inferno dll causado por Midas.dll em alguns clientes.
O código abaixo é executado em cerca de 2350ms. Se eu remover a declaração MidaLib nos usos, ela começa a rodar em apenas 45ms !!
O arquivo data.xml foi salvo com o método TClientDataSet.SaveToFile, possui 5000 registros e seu tamanho é de aproximadamente 600Kb.
Alguém sabe como explicar esse comportamento estranho?
Eu posso confirmar o problema no Delphi XE2 upd 3 e no Delphi XE3 upd 2.
Obrigado.
program Loader;
{$APPTYPE CONSOLE}
{$R *.res}
uses
MidasLib,
System.SysUtils,
Winapi.Windows,
Data.DB,
Datasnap.DBClient;
var
cds : TClientDataSet;
start, stop : Cardinal;
begin
cds := TClientDataSet.Create(nil);
try
start := GetTickCount;
cds.LoadFromFile('c:\temp\data.xml');
stop := GetTickCount;
Writeln(Format('Time elapsed: %dms', [stop-start]));
finally
cds.Free;
end;
end.