본문 바로가기

Delphi/끄적이기

XSuperObject에서 Object 빠르게 읽기..?

XSuperObject를 사용해서 Object로 이루어진 Json을 전부 읽고 처리해야 할 때,

 

var
  oDataSet: ISuperObjec;
  oData: ISuperObject;
begin
  oDataSet := SO('JSON_DATA');
  oDataSet.First;
  while not oDataSet.Eof do begin
    oData := oDataSet.O[oDataSet.CurrentKey];
    
    {To do}
    
    oDataSet.Next;
  end;
end;

while문을 처리하는데 약 3초 이상이 걸린 반면에

 

var
  oDataSet: ISuperObjec;
begin
  oDataSet := SO('JSON_DATA');
  
  TParallel.For(0, oDataSet.Count - 1,
  procedure(I: Integer)
  var
    oData: ISuperObject;
  begin
    oData := oDataSet.O[oDataSet.Self.Get(I).Name];
    
    {To do}
  end);
end;

병렬로 처리한 결과 1초 내외로 끝낼 수 있었습니다..?

반응형