From de6c937cf4c3146f9f40d0a6e93a48118bd3a494 Mon Sep 17 00:00:00 2001 From: juha Date: Tue, 20 Aug 2013 11:44:37 +0000 Subject: [PATCH] IDE: allow timing of reading and rendering all compiler options. git-svn-id: trunk@42432 - --- ide/allcompileroptions.pas | 22 ++++++++++++++++++++-- ide/frames/compiler_other_options.pas | 15 +++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/ide/allcompileroptions.pas b/ide/allcompileroptions.pas index c78327e1dc..8a48b23369 100644 --- a/ide/allcompileroptions.pas +++ b/ide/allcompileroptions.pas @@ -6,7 +6,7 @@ interface uses Classes, SysUtils, Forms, Controls, StdCtrls, Buttons, ButtonPanel, EditBtn, - contnrs, LCLProc, Compiler, LazarusIDEStrConsts; + Dialogs, contnrs, LCLProc, Compiler, LazarusIDEStrConsts; type @@ -115,8 +115,17 @@ begin end; procedure TfrmAllCompilerOptions.OnIdle(Sender: TObject; var Done: Boolean); +{$IFDEF TimeAllCompilerOptions} +var + StartTime, EndTime: TDateTime; + fs: TFormatSettings; + ms: string; +{$ENDIF} begin IdleConnected := False; + {$IFDEF TimeAllCompilerOptions} + StartTime := Now; + {$ENDIF} Screen.Cursor := crHourGlass; try edOptionsFilter.Enabled := False; @@ -125,6 +134,16 @@ begin finally Screen.Cursor := crDefault; end; + {$IFDEF TimeAllCompilerOptions} + if FInitialRender then begin + EndTime := Now-StartTime; + ms := FormatDateTime('zzz', EndTime); + fs.TimeSeparator := ':'; + ShowMessage(Format('Rendering compiler options GUI took: %s.%s', + [FormatDateTime('nn:ss', EndTime, fs), ms])); + end; + {$ENDIF} + FInitialRender := False; end; procedure TfrmAllCompilerOptions.CheckBoxClick(Sender: TObject); @@ -292,7 +311,6 @@ begin if not FInitialRender then FocusControl(edOptionsFilter); {$ENDIF} - FInitialRender := False; finally Container.EnableAutoSizing; Container.Invalidate; diff --git a/ide/frames/compiler_other_options.pas b/ide/frames/compiler_other_options.pas index b73f50c1c3..13db0f2cba 100644 --- a/ide/frames/compiler_other_options.pas +++ b/ide/frames/compiler_other_options.pas @@ -624,6 +624,11 @@ end; procedure TCompilerOtherOptionsFrame.OnIdle(Sender: TObject; var Done: Boolean); var OldIdleConnected: TIdleActions; + {$IFDEF TimeAllCompilerOptions} + StartTime, EndTime: TDateTime; + fs: TFormatSettings; + ms: String; + {$ENDIF} begin OldIdleConnected := IdleConnected; IdleConnected := []; @@ -634,6 +639,9 @@ begin if (iaCompilerOpts in OldIdleConnected) and (FOptionsReader.RootOptGroup.CompilerOpts.Count = 0) then begin + {$IFDEF TimeAllCompilerOptions} + StartTime := Now; + {$ENDIF} Screen.Cursor := crHourGlass; try try @@ -647,6 +655,13 @@ begin finally Screen.Cursor := crDefault; end; + {$IFDEF TimeAllCompilerOptions} + EndTime := Now-StartTime; + ms := FormatDateTime('zzz', EndTime); + fs.TimeSeparator := ':'; + ShowMessage(Format('Reading compiler options took: %s.%s', + [FormatDateTime('nn:ss', EndTime, fs), ms])); + {$ENDIF} end; end;