Я объявляю MidasLib, чтобы избежать ада dll, вызванного Midas.dll в некоторых клиентах.
Приведенный ниже код работает примерно за 2350 мс. Если я удалю объявление MidaLib при использовании, оно начнет работать всего за 45 мс !!
Файл data.xml был сохранен с помощью метода TClientDataSet.SaveToFile, имеет 5000 записей и его размер составляет около 600 КБ.
Кто-нибудь знает, как объяснить это странное поведение?
Я могу подтвердить проблему в Delphi XE2 upd 3 и в Delphi XE3 upd 2.
Спасибо.
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.