MidasLib.dcu sprawia, że aplikacja jest wolniejsza
Oświadczam, że MidasLib unika dll hell spowodowanego przez Midas.dll w niektórych klientach.
Poniższy kod działa w około 2350 ms. Jeśli usunę deklarację MidaLib w użyciu, zacznie ona działać w zaledwie 45 ms !!
Plik data.xml został zapisany za pomocą metody TClientDataSet.SaveToFile, ma 5000 rekordów, a jego rozmiar to około 600 KB.
Czy ktoś wie, jak wyjaśnić to dziwne zachowanie?
Mogę potwierdzić problem w Delphi XE2 upd 3 i Delphi XE3 upd 2.
Dzięki.
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.