🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
4 messages
4 total messages Started by mmm Wed, 23 Nov 2016 22:11
czas wykonywania initialization
#345389
Author: mmm
Date: Wed, 23 Nov 2016 22:11
11 lines
1230 bytes
Czy mozna jakoś zbadać czas trwania każdej sekcji initialization w 
projekcie bez poprawiania  kodu tych sekcji ?

Gdzies musi byc pętla która je wszystkie uruchamia ;)
Ewentualnie sprytny pomysł na automatyczne zmodyfikowanie wszystkich 
plików projektu ?

Chciałbym troche przyspieszyć start aplikacji.
Od klikniecia do pierwsze linii pliku DPR mija strasznie długo

M
Re: czas wykonywania initialization
#345390
Author: Jan Drawski
Date: Wed, 23 Nov 2016 22:51
15 lines
1684 bytes
W dniu 2016-11-23 o 23:11, mmm pisze:
> Czy mozna jakoś zbadać czas trwania każdej sekcji initialization w
> projekcie bez poprawiania  kodu tych sekcji ?

Do głowy przychodzi mi tylko usuwanie (komentowanie) unitów od dołu w 
sekcji uses pliku dpr i sprawdzanie czasu po begin w tym pliku...

Nie wiem czy nie wolałbym stworzyć funkcji logującej czas, czyli do 
sekcji initialization powklejałbym np "InitTimeLog(1)". Zmieniałbym 
tylko parametr dzięki któremu identyfikowałbym plik. To nie powinno 
zająć dużo czasu.

-- 
Pozdrawiam
Jan Drawski
Re: czas wykonywania initialization
#345391
Author: arivald
Date: Thu, 24 Nov 2016 05:28
21 lines
1448 bytes
W dniu 2016-11-23 o 23:11, mmm pisze:
> Czy mozna jakoś zbadać czas trwania każdej sekcji initialization w
> projekcie bez poprawiania  kodu tych sekcji ?
>
> Gdzies musi byc pętla która je wszystkie uruchamia ;)
> Ewentualnie sprytny pomysł na automatyczne zmodyfikowanie wszystkich
> plików projektu ?
>
> Chciałbym troche przyspieszyć start aplikacji.
> Od klikniecia do pierwsze linii pliku DPR mija strasznie długo
>
> M
>

w DPR zaraz po 'begin' użyj WinAPI GetProcessTimes() 
(https://msdn.microsoft.com/en-us/library/ms683223(VS.85).aspx), 
obliczysz czas mniej wiecej z różnicy pomiędzy lpCreationTime a 
aktualnym czasem.

-- 
Arivald
Re: czas wykonywania initialization
#345387
Author: arivald
Date: Thu, 24 Nov 2016 07:53
40 lines
2217 bytes
W dniu 2016-11-24 o 06:28, arivald pisze:
> W dniu 2016-11-23 o 23:11, mmm pisze:
>> Czy mozna jakoś zbadać czas trwania każdej sekcji initialization w
>> projekcie bez poprawiania  kodu tych sekcji ?
>>
>> Gdzies musi byc pętla która je wszystkie uruchamia ;)
>> Ewentualnie sprytny pomysł na automatyczne zmodyfikowanie wszystkich
>> plików projektu ?
>>
>> Chciałbym troche przyspieszyć start aplikacji.
>> Od klikniecia do pierwsze linii pliku DPR mija strasznie długo
>>
>> M
>>
>
> w DPR zaraz po 'begin' użyj WinAPI GetProcessTimes()
> (https://msdn.microsoft.com/en-us/library/ms683223(VS.85).aspx),
> obliczysz czas mniej wiecej z różnicy pomiędzy lpCreationTime a
> aktualnym czasem.
>

Hmm, nie doczytałem "czas trwania każdej sekcji initialization"... no tu 
trzeba by każdą zmienić.

Sprytnu sposób to np. Notapad++, zamień w plikach i odpowiednie regexpy, 
plus na koniec ręczne fixy.

np.
(\n)initialization\n(.*)\nfinalization\n  ==> $1initialization$1[start 
timing code]$1$2$1[end timing code]$1finalization$1

I drugi podobny dla sekcji bez finalization, zamieniasz "finalization\n" 
na "end\.", z wykluczeniem "finalization" z matcha.

A jak do kodu liczącego czas dodasz warunkową kompilację na jakiejś 
zmiennej, to nie będziesz musiał tego kodu usuwać, będziesz mógł go 
włączać i wyłączać na życzenie.

-- 
Arivald
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads