![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 5.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, postanowiłem przetestować czas wykonywania skryptu dla klasy skonstruowanej wg. wzorca Singleton, wywoływanej poprzez metode statyczną która decyduje czy należy tworzyć nowy obiekt klasy. Wywoływałem tą klasę również w tradycyjny sposób. Czas wykonywania skryptu wyglądał
następująco : Kod Skrypt wykonany w czasie: 1.485986 sekundy (tradycyjnie wywołany obiekt) Skrypt wykonany w czasie: 2.203427 sekundy(wg. singleton) Byc moze zle implementuje ten wzorzec w swojej aplikacji wiec podaje poniżej kod :
Klasę wywołuję wg singleton tym kodem:
A tak tworze obiekt klasy w tradycyjny sposób(wg. moich testów ten sposób jest szybszy)
Czy może mi ktoś wyjaśnić dlaczego kod wg singleton jest wykonywany wolniej i kiedy warto w swoich aplikacjach implementować ten wzorzec ? Z góry dzieki za pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Astarot @ 2006-05-03 07:18:34) Klasę wywołuję wg singleton tym kodem:
A tak tworze obiekt klasy w tradycyjny sposób(wg. moich testów ten sposób jest szybszy)
zły test, chociaż wyniki poprawne singleton jest trochę wolniejszy. nigdy nie zwiększy $test->licznik $zmienna++ zwiększa wartość zmiennej PO użyciu, a nie PRZED mój kod testujący
a wyniki Kod Singleton: 8.5278367996216s Normal: 6.6726980209351s Takie wyniki uzystałem na moim AMD Athlon 2500+ (Barton) -edit- 2 min później lol Ten post edytował Hacker 3.05.2006, 12:55:22 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 02:42 |