Thread View: pl.comp.lang.delphi
4 messages
4 total messages
Started by mmm
Wed, 23 Nov 2016 22:11
czas wykonywania initialization
Author: mmm
Date: Wed, 23 Nov 2016 22:11
Date: Wed, 23 Nov 2016 22:11
11 lines
1230 bytes
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
Author: Jan Drawski
Date: Wed, 23 Nov 2016 22:51
Date: Wed, 23 Nov 2016 22:51
15 lines
1684 bytes
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
Author: arivald
Date: Thu, 24 Nov 2016 05:28
Date: Thu, 24 Nov 2016 05:28
21 lines
1448 bytes
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
Author: arivald
Date: Thu, 24 Nov 2016 07:53
Date: Thu, 24 Nov 2016 07:53
40 lines
2217 bytes
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