Zitat von Flávio Etrusco <[email protected]>:

On Mon, Mar 1, 2010 at 6:31 AM, Mattias Gaertner
<[email protected]> wrote:
On Mon, 1 Mar 2010 05:55:43 -0300
Flávio Etrusco <[email protected]> wrote:

>>
>> That's another story. I'm not proposing to remove the splash screen
>> (actually Paul taught there's already a parameter or setting to remove
>> it. i'm proposing is simply to remove the stayontop, which serves no
>> purpose...
>> The delay seems to be caused by codetools loading the files...
>
> Why do you think so?
>
> Mattias
>

I guess you're asking about the codetools part? TBH it's a wild guess.
It takes much longer when the active project is Lazarus and I have
several files open and it's waaaay faster on warm reload/the files are
cached.

Maybe you have enabled Form editor / open designer on open unit?

When I start the IDE with a hundred files open then I get the following
from gprof. As you can see codetools is hardly measurable. It is
as expensive as loading the splash image (less than 2%).
Synedit needs some optimizations.
Please test too and see what you get.


 6.94      0.10     0.10  7717033     0.00     0.00  SYNEDITKEYCMDS_TSYNEDITKEYSTROKE_$__GETCOMMAND$$TSYNEDITORCOMMAND  4.86      0.17     0.07                             CLASSES_TFPLIST_$__GET$LONGINT$$POINTER  4.17      0.23     0.06                             SYSUTILS_COMPAREMEMRANGE$POINTER$POINTER$LONGWORD$$LONGINT  3.47      0.28     0.05  7717033     0.00     0.00  SYNEDITKEYCMDS_TSYNEDITKEYSTROKES_$__GETITEM$LONGINT$$TSYNEDITKEYSTROKE
 3.47      0.33     0.05                             FPC_ANSISTR_SETLENGTH
 2.78      0.37     0.04                             LAZ_DOM_TDOMNODE_$__FINDNODE$ANSISTRING$$TDOMNODE  2.08      0.40     0.03   863797     0.00     0.00  SYNHIGHLIGHTERPAS_TSYNPASSYN_$__NEXT  2.08      0.43     0.03   268090     0.00     0.00  SYNHIGHLIGHTERPAS_TSYNPASSYN_$__KEYHASH$$LONGINT
 2.08      0.46     0.03                             FPC_PUSHEXCEPTADDR
 2.08      0.49     0.03                             fpc_ansistr_decr_ref
 1.39      0.51     0.02   237132     0.00     0.00  SYNEDITTEXTTRIMMER_TSYNEDITSTRINGTRIMMINGLIST_$__GET$LONGINT$$ANSISTRING  1.39      0.53     0.02      319     0.06     0.53  KEYMAPPING_TKEYCOMMANDRELATIONLIST_$__ASSIGNTO$TSYNEDITKEYSTROKES$TCUSTOMFORMCLASS  1.39      0.55     0.02                             CLASSES_TCOMPONENT_$__NOTIFICATION$TCOMPONENT$TOPERATION  1.39      0.57     0.02                             CLASSES_TLIST_$__GET$LONGINT$$POINTER  1.39      0.59     0.02                             CLASSES_TLIST_$__GETCOUNT$$LONGINT  1.39      0.61     0.02                             CWSTRING_CONCATCHARTOANSISTR$CHAR$ANSISTRING$LONGINT  1.39      0.63     0.02                             CWSTRING_UPPERANSISTRING$ANSISTRING$$ANSISTRING
 1.39      0.65     0.02                             FPC_SETJMP
 1.39      0.67     0.02                             FPIMAGE_TFPCUSTOMIMAGE_$__SETCOLOR$LONGINT$LONGINT$TFPCOLOR  1.39      0.69     0.02                             FPREADPNG_TFPREADERPNG_$_DODECOMPRESS_DECODE  1.39      0.71     0.02                             SOURCELOG_TSOURCELOG_$__BUILDLINERANGES


Mattias


I'll try to run with gprof, thanks. Also in next time I make such claims ;-)
FTR: No, I have "open designer on open unit" disabled.
Did you try this on without files being in cache?

When the files are not in the OS cache, then measuring with gprof does not make much sense.
The biggest thing is to load the 100mb lazarus executable.
And if you start lazarus for the first time after installation, then the IDE scans the FPC source directory, which might take quite some time on slow disks or even worse on network file systems.


Guess I'll have to do some work in SynEdit then. It used to be my area
of expertise after all ;) But the code in Lazarus is a (almost)
completely different beast, and maybe not much can be done with
codefolding wihout making some concessions...


Mattias



--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to