How can a Delphi TPersistent object calculate its own deserialization time?
- by mjustin
For performance tests I need a way to measure the time needed for a form to load its definition from the DFM. All existing forms inherit a custom form class.
To capture the current time, this base class needs overriden methods as "extension points":
start of the deserialization process
after the deserialization (can be implemented by overriding the Loaded procedure)
the moment just before the execution of the OnFormCreate event
So the log for TMyForm.Create(nil) could look like:
- 00.000 instance created
- 00.010 before deserialization
- 01.823 after deserialization
- 02.340 before OnFormCreate
Which TObject (or TComponent) methods are best suited? Maybe there are other extension points in the form creation process, please feel free to make suggestions.