|
- {$ERROR Do not use, untested/WIP/useless!}
- {$ifdef __HEAD}
- TProfileBinary = class(TProfileDataFile)
- private type
- TEnterRec = packed record
- Thread: TThreadID;
- When: Int64;
- Line: Integer;
- Func, Src: ShortString;
- end;
- TLeaveRec = packed record
- Thread: TThreadID;
- When: Int64;
- end;
- private
- fDF: TMemoryStream;
- public
- constructor Create(const aFileName: string);
- destructor Destroy; override;
- procedure WriteEnter(Thread: TThreadID; When: Int64; Func, Src: String; Line: Integer); override;
- procedure WriteLeave(Thread: TThreadID; When: Int64); override;
- end;
-
- {$ELSE}
-
- { TProfileBinary }
-
- constructor TProfileBinary.Create(const aFileName: string);
- begin
- inherited;
- fDF:= TMemoryStream.Create;
- fDF.SetSize(50000000);
- end;
-
- destructor TProfileBinary.Destroy;
- begin
- FreeAndNil(fDF);
- inherited;
- end;
-
- procedure TProfileBinary.WriteEnter(Thread: TThreadID; When: Int64; Func, Src: String; Line: Integer);
- var
- t: TEnterRec;
- begin
- t.When:= When;
- t.Thread:= Thread;
- t.Func:= Func;
- t.Src:= Src;
- t.Line:= Line;
- fDF.Write(t, sizeof(t));
- end;
-
- procedure TProfileBinary.WriteLeave(Thread: TThreadID; When: Int64);
- var
- t: TLeaveRec;
- begin
- t.When:= When;
- t.Thread:= Thread;
- fDF.Write(t, sizeof(t));
- end;
- {$ENDIF}
-
|